2010-05-04 2 views
1

Объекты с одинаковыми атрибутами и методами принадлежат к одному классу?Объекты с теми же атрибутами и методами принадлежат к одному классу?

  1. я не могу объявить два одинаковых классов с теми же методами и атрибутами, и их создании экземпляра имеют «объекты с теми же атрибутами и методы, принадлежащие к различным классам»?

  2. Невозможно объявить класс A и подкласс B (дочерние элементы класса A) как с одинаковыми методами, так и с атрибутами (и не объявлять никаких новых атрибутов или методов в классе B) империментировать и иметь «объекты с теми же атрибутами и методами, принадлежащими разным классам»?

Этот вопрос не касается хороших практик ... Речь идет о логическом значении (истинном или ложном) вопроса о названии.

ответ

1

Вы не указали, на каких языках вы говорите; возможно, есть какой-то экзотический язык, в котором есть свойство, которое вы описываете, но, по крайней мере, на таких языках, как Java и C++, нет понятия о том, что два класса являются «одинаковыми» на основе того, какие методы/переменные экземпляра они объявляют.

Итак, ответ «нет, они не являются тем же классом, даже если они выглядят одинаково».

Подкласс случай немного отличается: если объявить B как подкласс A (без добавления каких-либо методов или переменных), они по-прежнему разные классы, но объект класса B также «is-a» A, из-за нормальных правил наследования.

1

Это определенно возможно.

class A 
{ 

    public string Property1{get;set;} 
    public string Method1(int value) 
    { 
     ...... 
    } 

} 

class B 
{ 
    public string Property1{get;set;} 
    public string Method1(int value) 
    { 
    ........ 
    } 
} 

Оба класса идентичны. Имеют те же свойства и методы. Но их примеры будут разными.