在多態性我瞭解到,只有派生類可以是基類,但看看我的例子,一個基類,現在是一個派生類:在Polymorphism中,只有派生類可以是基類,這裏會發生什麼?
static void Main()
{
Person a = new Customer();
//here a base class is a derived class
Customer c = (Customer)a;
}
class Person
{
}
class Customer : Person
{
}
爲什麼這是可能的嗎?
派生類的成員上的基類實例化時,不應被丟棄?
如果我在基類中實例化派生類,分配的內存大小是派生類的大小?
只需對自己說:「客戶*是A *個人」,它應該都變得清晰:如果客戶是個人,則可以將其分配給Person對象。如果你知道這個特定的人是一個客戶,你可以將其重新投入。 – Krumelur