Объекты с одинаковыми атрибутами и методами принадлежат к одному классу? - PullRequest
1 голос
/ 04 мая 2010

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

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

  2. Разве я не могу объявить класс A и подкласс B (потомки класса A) с одинаковыми методами и атрибутами (и не объявлять какой-либо новый атрибут или метод в классе B) , создать их экземпляры и иметь " объекты с одинаковыми атрибутами и методами, принадлежащие разным классам "?

Этот вопрос не о передовой практике ... Он о логической значимости (истина или ложь) вопроса о названии.

Ответы [ 2 ]

1 голос
/ 04 мая 2010

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

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

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

1 голос
/ 04 мая 2010

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

class A
{

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

}

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

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

...