国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中面向對象編程機制之繼承學習筆記

2019-10-29 21:43:28
字體:
來源:轉載
供稿:網(wǎng)友
這篇文章主要介紹了C#中面向對象編程機制之繼承學習筆記,本文給出一個簡單子實例講解C#中的繼承,并講解了一些C#繼承的知識技巧,需要的朋友可以參考下
 

繼承反應了類和類之間的關系。

世界上很多事物都是有共性的,共性的那一部分我們就抽象為基類,用于派生其它類,這樣提高了代碼的復用性,使得代碼的結構清晰易讀,而且易于代碼的擴展和維護。

C#的繼承只能繼承自一個基類,這一點不同于C++的繼承。

C#的繼承具有傳遞性,即B繼承自A,C繼承自B,則C具有A的所有特性。

C#的繼承隱式為public的。

假如不在派生類構造器中顯示調用一個基類構造器,編譯器會自動插入對基類的默認構造器的一個調用,然后才會執(zhí)行派生類構造器中的代碼, 如果基類沒有默認的構造器,會造成編譯錯誤。

舉例:動物的共性:有嘴巴,有眼睛,有鼻子,可以移動,能夠吃東西

所以定義基類   (包含動物的共性)

復制代碼代碼如下:

public class Animal {
      ......        
    }

 

再定義具體的動物的時候就可以繼承自基類Animal,不用再重新定義這些基本的特征,只定義自己獨有的特性就好。

例如:Dog 

復制代碼代碼如下:

public class Dog:Animal
    {   
        //編譯器會自動插入對基類的默認構造器的一個調用,然后才會執(zhí)行派生類構造器中的代碼
        public string Bark;//狗叫聲
    }

 

 

復制代碼代碼如下:

public class Dog : Animal {
//在派生類構造器中顯示調用一個基類構造器
        public Dog()
            : base() {
        }
        public string Bark;
    }

 


注意:

可以把一個派生類的值賦給基類,但不能把一個基類的值賦給派生類,因為基類不能轉換為派生類,基類中只包含了派生類的一部分特性。

Animal animal=new Dog(); 正確的

Dog dog=new Animal();錯誤


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 禹州市| 黄陵县| 同心县| 信阳市| 皮山县| 寻乌县| 武清区| 洞头县| 章丘市| 武宣县| 广西| 思茅市| 综艺| 松滋市| 宾阳县| 炉霍县| 兴安盟| 黄大仙区| 宁蒗| 章丘市| 新津县| 封开县| 邵阳县| 阜新| 宁阳县| 永靖县| 浦江县| 含山县| 罗山县| 浠水县| 宿松县| 东至县| 兰溪市| 博野县| 建德市| 彩票| 恩施市| 印江| 铜山县| 铜山县| 康平县|