C#中面向對象編程機制之繼續進修筆記。本站提示廣大學習愛好者:(C#中面向對象編程機制之繼續進修筆記)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中面向對象編程機制之繼續進修筆記正文
繼續反響了類和類之間的關系。
世界上許多事物都是有個性的,個性的那一部門我們就籠統為基類,用於派生其它類,如許進步了代碼的復用性,使得代碼的構造清楚易讀,並且易於代碼的擴大和保護。
C#的繼續只能繼續自一個基類,這一點分歧於C++的繼續。
C#的繼續具有傳遞性,即B繼續自A,C繼續自B,則C具有A的一切特征。
C#的繼續隱式為public的。
假設不在派生類結構器中顯示挪用一個基類結構器,編譯器會主動拔出對基類的默許結構器的一個挪用,然後才會履行派生類結構器中的代碼, 假如基類沒有默許的結構器,會形成編譯毛病。
舉例:植物的個性:有嘴巴,有眼睛,有鼻子,可以挪動,可以或許吃器械
所以界說基類 (包括植物的個性)
public class Animal {
......
}
再界說詳細的植物的時刻便可以繼續自基類Animal,不消再從新界說這些根本的特點,只界說本身獨有的特征就好。
例如:Dog
public class Dog:Animal
{
//編譯器會主動拔出對基類的默許結構器的一個挪用,然後才會履行派生類結構器中的代碼
public string Bark;//狗啼聲
}
public class Dog : Animal {
//在派生類結構器中顯示挪用一個基類結構器
public Dog()
: base() {
}
public string Bark;
}
留意:
可以把一個派生類的值賦給基類,但不克不及把一個基類的值賦給派生類,由於基類不克不及轉換為派生類,基類中只包括了派生類的一部門特征。
Animal animal=new Dog(); 准確的
Dog dog=new Animal();毛病