---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity開發</a>、<a href="http://www.itheima.com"target="blank">.Net培訓</a>、期待與您交流! ----------------------
1,爲什麼要使用繼承
和使用類是爲了代碼重用一樣,使用繼承也是爲了代碼重用。在定義對象的模板類時,會發現好多類有相同的屬性和方法,若一個一個定義,同樣很麻煩,
於是引入繼承的概念,我們將類共有的那些屬性和方法定義爲一個類,稱之爲父類。當我們定義類時,便可以代碼重用,直接使用父類中已經定義好的公共的屬性 和方法,只需定義自己特有的成員即可,這個類便稱之爲子類。
2 繼承的相關定義
class 父類名
{
共有字段,
共有屬性
共有方法
父類的構造方法(最好有兩個:有參和無參 base(),base(參數))
}
class 子類名
{
特有字段,
特有屬性
特有方法,重寫及隱藏父類方法
子類的構造方法
sub()[:base()](有和無一個意思)
sub(參數):base(參數)
}
例子:
class Person { string name; int age; pulic string Name { get方法 set方法 } pulic string Age { get方法 set方法 } //被子類隱藏的基類方法 public void SayHello() { 實現代碼 } //被子類重寫的虛方法 public virtual void Walk() { 實現代碼 } //最好定義兩個構造方法,有參的和無參的(還能重載) public Person() { 實現代碼 } public Person(參數) { 實現代碼 } }
class Teacher
{ int yearofservice; pubic YearOfService { get方法 set方法 } //隱藏基類方法(當子類方法與父類方法重名時使用) public new void SayHello() { 實現代碼 } //重寫父類方法(子類方法將父類方法覆蓋掉,一般用於多態) public override void Walk() { 實現代碼 } public Teacher () { } //子類構造方法調用父類構造方法 public Teacher(參數):base(參數) { } }
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity開發</a>、<a href="http://www.itheima.com"target="blank">.Net培訓</a>、期待與您交流! ----------------------