创建继承类的对象

问题描述:

这是一个单词中要调用的内容吗?创建继承类的对象

public class person 
{ 
} 
public class person1 : person 
{ 
} 
public class person2 : person 
{ 
} 

我已经在其他地方见过这种代码,创建另一个继承类的新对象,但什么这一个字

person p=new person2(); 
person p1=new person1(); 
+11

这将不会编译。所以用一个单词,我想我会称之为“错误”。 – itsme86

+0

不,它不会抛出错误,因为我创建了一个继承类的对象,并且这些类的基类相同 – Nischal

+3

如果您执行了'Person p1 = new Person2();'那么它会编译。但是你不能像'你'那样'Person1 p1 = new Person2();'所以,如果你没有得到一个错误,那么你不显示你的实际代码。 – itsme86

我觉得你的字被称为寻找是多态性。但你的例子是错误的:

这将是多态,如果你这样说:

person myPerson = new person1();person myPerson = new person2();

你可以没有,但是,有两个班,因为你在做同一个基类的例。

person2 myPerson = new person1();

虽然这是真的,他们都继承相同的基类,它们是不一样的。用真实的词汇来表达:

假设你有一个类Vehicle。然后你有两个其他类,CarBus。你能说BusVehicle?当然是。但你不能BusCar

+1

'Bus'是'Car' ...我说过:-O – GibralterTop

+1

虽然这并不是多态的例子。 – Servy

+0

它是真正的继承点,因为它们不覆盖基类?我明白这一点,但我的观点是,既然他在谈论'person1'和'person2',我怀疑*他指的是'person'的不同实现。很难说,因为无法以原始形式进行编译。 – Ares