C 物件導向程式設計

2021-10-04 19:51:30 字數 1121 閱讀 4951

15.3轉換與繼承

15.3.1 派生類到基類的轉換

1.引用不同於轉換物件

1.將物件傳遞給希望接受引用的函式時,引用直接繫結到物件,看起來再傳遞物件,實際上實參是對該物件的引用,物件未被複製。轉換不會改變原派生類物件。

2.將派生類物件傳遞給希望接受基類型別物件的函式時(不是引用),情況完全不同,形參是固定的,--在編譯和執行時形參都是基類型別物件。如果用派生型別物件呼叫這種函式時,則派生類物件的基類部分被複製到形參。

2.用派生類物件對基類物件進行初始化或賦值

對基類物件進行初始化或者賦值,實際上是在呼叫函式:初始化呼叫建構函式,賦值時呼叫賦值操作符。

15.3.2基類到派生類的轉換

15.4 建構函式和複製控制

15.4.2 派生類建構函式

1.合成的派生類的預設建構函式

2.定義預設建構函式

3.向基類建構函式傳遞實參

子類建構函式中初始化呼叫父類的建構函式,就能初始化繼承的成員

建構函式初始化列表為類的基類和成員提供初始值,它並不指定初始化的執行次序,首先初始化基類,然後根據宣告次序初始化子類的成員。

4.在派生類建構函式中使用預設實參

5.只能初始化直接基類

15.4.3 複製控制和繼承

指標類需要自定義自己的複製控制來管理這些物件。

1.定義派生類複製建構函式

2.派生類賦值操作符

3.派生類析構函式

自己的析構函式負責析構自己的成員,同時,編譯器會自動呼叫父類的析構函式,釋放記憶體,同時,析構函式執行方式和建構函式的初始化方式相反。

15.4.4 虛析構函式

15.5 繼承情況下的類作用域

1.名字查詢時在編譯時發生

2.名字衝突與繼承

直接呼叫類作用符

3.作用域和成員函式

15.5.4虛函式與作用域

名字查詢與繼承

15.6 純虛函式

15.7 容器與繼承

在容器中時,子類物件在賦值給父類物件時會被切掉,所以容器與通過繼承相關的型別不能很好的融合。

15.8控制代碼類與繼承

c 物件導向程式設計 物件導向

什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...

C 物件導向程式設計

1.1 類與物件 物件 object 是類 class 的乙個例項 instance 如果將物件比作房子,那麼類就是房子的設計圖紙。所以物件導向程式設計的重點是類的設計,而不是物件的設計。類可以將資料和函式封裝在一起,其中函式表示了類的行為 或稱服務 類提供關鍵字public protected 和...

C 物件導向程式設計

物件導向程式設計 以物件為中心,將資料和方法封裝在一起。三要素 抽象繼承 多型 五個基本原則 單一職責原則 就乙個類而言,應該有且僅有乙個引起它變化的原因。開放 封閉原則 是說軟體實體 類 模組 函式等等 應該可以擴充套件,但是不可修改。黎克特制替換換原則 子類應當可以替換父類並出現在父類能夠出現的...