欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中面向?qū)ο缶幊虣C(jī)制之繼承學(xué)習(xí)筆記

 更新時(shí)間:2015年01月20日 09:57:59   投稿:junjie  
這篇文章主要介紹了C#中面向?qū)ο缶幊虣C(jī)制之繼承學(xué)習(xí)筆記,本文給出一個(gè)簡(jiǎn)單子實(shí)例講解C#中的繼承,并講解了一些C#繼承的知識(shí)技巧,需要的朋友可以參考下

繼承反應(yīng)了類(lèi)和類(lèi)之間的關(guān)系。

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

C#的繼承只能繼承自一個(gè)基類(lèi),這一點(diǎn)不同于C++的繼承。

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

C#的繼承隱式為public的。

假如不在派生類(lèi)構(gòu)造器中顯示調(diào)用一個(gè)基類(lèi)構(gòu)造器,編譯器會(huì)自動(dòng)插入對(duì)基類(lèi)的默認(rèn)構(gòu)造器的一個(gè)調(diào)用,然后才會(huì)執(zhí)行派生類(lèi)構(gòu)造器中的代碼, 如果基類(lèi)沒(méi)有默認(rèn)的構(gòu)造器,會(huì)造成編譯錯(cuò)誤。

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

所以定義基類(lèi)   (包含動(dòng)物的共性)

復(fù)制代碼 代碼如下:

public class Animal {
      ......       
    }

再定義具體的動(dòng)物的時(shí)候就可以繼承自基類(lèi)Animal,不用再重新定義這些基本的特征,只定義自己獨(dú)有的特性就好。

例如:Dog

復(fù)制代碼 代碼如下:

public class Dog:Animal
    {  
        //編譯器會(huì)自動(dòng)插入對(duì)基類(lèi)的默認(rèn)構(gòu)造器的一個(gè)調(diào)用,然后才會(huì)執(zhí)行派生類(lèi)構(gòu)造器中的代碼
        public string Bark;//狗叫聲
    }

復(fù)制代碼 代碼如下:

public class Dog : Animal {
//在派生類(lèi)構(gòu)造器中顯示調(diào)用一個(gè)基類(lèi)構(gòu)造器
        public Dog()
            : base() {
        }
        public string Bark;
    }


注意:

可以把一個(gè)派生類(lèi)的值賦給基類(lèi),但不能把一個(gè)基類(lèi)的值賦給派生類(lèi),因?yàn)榛?lèi)不能轉(zhuǎn)換為派生類(lèi),基類(lèi)中只包含了派生類(lèi)的一部分特性。

Animal animal=new Dog(); 正確的

Dog dog=new Animal();錯(cuò)誤

相關(guān)文章

最新評(píng)論