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

Oop 具有相同属性和方法的对象属于同一类?,oop,class,object,hierarchy,ambiguity,Oop,Class,Object,Hierarchy,Ambiguity,具有相同属性和方法的对象属于同一类 我不能声明两个具有相同方法和属性的相同类,实例化它们,并拥有“具有属于不同类的相同属性和方法的对象” 我是否可以声明一个类a和一个子类B(类a的子类)都具有相同的方法和属性(并且不在类B上声明任何新的属性或方法),实例化它们并拥有“具有属于不同类的相同属性和方法的对象” 这个问题不是关于好的实践。。。这是关于标题上问题的逻辑值(对或错)。这是绝对可能的 class A { public string Property1{get;set;} p

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

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

  • 我是否可以声明一个类a和一个子类B(类a的子类)都具有相同的方法和属性(并且不在类B上声明任何新的属性或方法),实例化它们并拥有“具有属于不同类的相同属性和方法的对象”


  • 这个问题不是关于好的实践。。。这是关于标题上问题的逻辑值(对或错)。

    这是绝对可能的

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

    这两个类是相同的。具有相同的属性和方法。但它们的情况将有所不同

    您没有指定您正在谈论的语言;也许有一些异国语言有你描述的属性,但至少在像java和C++这样的语言中,没有任何概念推断两个类是基于它们声明的方法/实例变量的“相同”。 因此,答案是“不,他们不是同一类人,即使他们看起来一样”

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