繼承的理解 開始

2022-01-22 21:34:27 字數 1054 閱讀 1554

一,概念理解

1. 繼承可以理解為即由基類產生派生類的這一過程。如人類(基類),學生(派生類),小學生(更低一級派生類)。

2. 繼承的派生類將擁有基類和自己的資料和行為。

二,繼承規則

1.繼承可以傳遞,object類為所有類的基類。

2.派生類應當是對基類的擴充套件。派生類無法去除已經繼承的成員定義。

3.建構函式和析構函式不能被繼承。

4.派生類如果定義了與繼承而來的成員同名的新成員,就可以覆蓋已繼承的成員。但這並不因為這派生類刪除了這些成員,只是不能再訪問這些成員。我們可以使用new修飾符來宣告具有相同名稱或簽名的新成員。

5.類可以使用virtual修飾符來定義虛方法,虛屬性及虛索引指示器,它的派生類使用override修飾符來過載這些成員,從而實現類可以展示處多型性。

6.派生類只能從乙個類中繼承(即c#中只允許單一繼承),但可以通過介面實現多重繼承。---注:這個概念不是很清楚,可能後面需要進一步理解。

三,訪問基類成員。

1.如果對類沒有定義顯示建構函式,則編譯器將提供預設的建構函式,以初始化這些類的成員字段。但是,如果顯式新增了建構函式,就可以有效的控制整個構造過程,我們可以通過base關鍵字來實現對基類公有或受保護成員的訪問,但是只侷限在建構函式、例項方法和屬性訪問器中。訪問基類成員時,注意:

*呼叫基類上已被其他方法重寫的方法;

*指定建立派生類例項時應呼叫的基類建構函式;

*基類訪問只能在建構函式、例項方法或例項屬性訪問器中進行;

*從靜態方法中使用base關鍵字是錯誤的。

四,重寫方法

簡單理解就是基類中宣告為virtual、override或abstract的型別,在派生類中用override關鍵字重寫方法。

注意:*不能重寫非虛方法或靜態方法。

*override宣告不能更改virtual方法的可訪問性。

*不能使用修飾符new、static、virtual、abstract來修改override方法。

*重寫屬性宣告必須指定與繼承屬性完全相同的訪問修飾符、型別和名稱,並且被重寫的屬性必須是virtual、abstract或override的。

繼承的理解

一,什麼是繼承 是建構函式之間的相關應用 繼承的是屬性和方法 是子集從父級繼承 常見的繼承方法有,原型繼承,建構函式繼承,es6繼承 二,建構函式 es5定義建構函式 建構函式 function father name,age father.prototype.fun1 function fathe...

飄逸的python 理解開啟檔案的模式

當我們用open 函式去開啟檔案的時候,有好幾種開啟的模式。r 唯讀 w 只寫,檔案已存在則清空,不存在則建立。a 追加,寫到檔案末尾 b 二進位制模式,比如開啟影象 音訊 word檔案。更新 可讀可寫 這個帶 號的有點難以理解,上 感受下。with open foo.txt w as f f.wr...

關於繼承的理解

一.基本概念 類之間的關係 繼承就是在已有類的基礎上建立新類的過程 已有的類叫做基類或父類,新類則叫做派生類或子類 二 基類和派生類 一 類繼承關係的語法形式 class 派生類名 基類名錶 基類名錶的構成 訪問控制 基類名1,訪問控制 基類名2,訪問控制 基類名n 訪問控制表示派生類對基類的繼承方...