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