【发布时间】:2011-12-10 00:07:41
【问题描述】:
在多态中我了解到只有派生类才能成为基类,但是看看我的例子,基类现在是派生类:
static void Main()
{
Person a = new Customer();
//here a base class is a derived class
Customer c = (Customer)a;
}
class Person
{
}
class Customer : Person
{
}
为什么会这样?
在基类上实例化时不应丢弃派生类的成员?
如果我在基类中实例化派生类,分配的内存大小就是派生类的大小?
【问题讨论】:
-
只要对自己说:“Client IS A Person”,一切都应该清楚了:如果 Client 是 Person,您可以将其分配给 Person 对象。如果你知道这个特定的人是客户,你可以把它扔回去。
标签: c# .net oop polymorphism