代码之家  ›  专栏  ›  技术社区  ›  Thiago Belem

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

  •  1
  • Thiago Belem  · 技术社区  · 14 年前

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

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

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

    这个问题不是关于好的做法…这是关于题目的逻辑值(真或假)。

    2 回复  |  直到 14 年前
        1
  •  1
  •   David Gelhar    14 年前

    你没有具体说明你在说什么语言;也许有一些你所描述的特性的外来语言,但至少在Java和C++语言中,没有任何概念可以推断它们所声明的方法/实例变量是两个类是相同的。

    所以,答案是“不,他们不是同一个班级,尽管他们看起来一样”。

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

        2
  •  1
  •   AlwaysAProgrammer    14 年前

    这绝对是可能的。

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

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