1

具有相同属性和方法的对象属于同一个类?

  1. 我不能声明两个具有相同方法和属性的相同类,将它们实例化并拥有“具有相同属性和方法的对象属于不同类”吗?

  2. 我不能声明一个类 A 和一个子类 B(类 A 的子类)都具有相同的方法和属性(并且不在类 B 上声明任何新属性或方法),实例化它们并具有“属于不同类的具有相同属性和方法的对象“?

这个问题与良好做法无关......它与标题上问题的逻辑值(真或假)有关。

4

2 回答 2

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)
   {
     ........
   }
}

两个类是相同的。具有相同的属性和方法。但是他们的例子会有所不同。

于 2010-05-04T13:23:42.947 回答
1

你没有具体说明你在说什么语言;也许有一些外来语言具有您描述的属性,但至少在 Java 和 C++ 等语言中,没有根据它们声明的方法/实例变量推断两个类“相同”的概念。

所以,答案是“不,它们不是同一个类,即使它们看起来一样”。

子类的情况有点不同:如果你声明B为的子类A(不添加任何方法或变量),它们仍然是不同的类,但类的对象B也是 " is-a" A,因为正常的继承规则。

于 2010-05-04T13:24:57.913 回答