C#物件導向的三大特徵繼承、封裝、多態學習總結

來源:互聯網
上載者:User

標籤:

1.基類和擴充類

(1)C#實現繼承的方式:類繼承和介面繼承

(2)繼承用冒號(:)表示。被繼承的叫做父類或者基類,從基類繼承的類叫擴充類,又叫衍生類別或子類。所有類的基類System.Object

聲明方式:[存取修飾詞]class 擴充類名稱:基類名稱

 {

 }

若B繼承自A,也可以使用強制轉換操作將其轉換為A對象。如:A b=(A)new B();此時,B對象將被限制為A對象的資料和行為,而無法再訪問B對象中的資料和行為,除非A中的方法被B重載,將會訪問B的方法。將B強制轉換為A後,還可以將A重新轉換為B,但是,並非A的所有執行個體在任何情況下都可強制轉為B,只有實際上是B的執行個體的那些執行個體才可以強制轉換為B。

(3)擴充類不能繼承基類中定義的private方法,只能繼承基類的public成員或者protected成員。

(4)初始化基類時,會首先調用基類的建構函式在調用擴充類的建構函式。

2.多態性:

(1)定義:同一操作作用於不同類的執行個體,不同的類將進行不同的解釋,最後產生不同的結果。即:建立一個父類的對象,它的內容可以是這個父類的,也可以是這個子類的,子類和父類都定義有相同的方法;當使用對象調用這個方法的時候,父類裡的同名對象將被調用,當在父類的這個方法前加virtual關鍵字,子類的同名方法將被調用。

(2)實現多態的方法:

(I)通過繼承實現。多個類可以繼承自同一個類,每個擴充類可根據重寫基類成員以提供不同的功能。

(II)通過抽象類別實現。抽象類別本身不能被執行個體化,只能在擴充類中通過繼承使用。抽象類別的部分或全部成員不一定都要實現,但要在繼承類中全部實現,抽象類別中已實現的成員扔可以被重寫,並且繼承類仍可以實現其他功能。

(III)通過介面實現。介面僅聲明類需要實現的方法、屬性、事假;以及每個成員需要接受和返回的參數類型,而他們的特定實現需要實作類別去完成。

 

C#物件導向的三大特徵繼承、封裝、多態學習總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.