黑馬程序員--面對對象之繼承的定義和使用

---------------------- <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>、期待與您交流! ----------------------








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章