C 物件導向第三週筆記

2021-08-04 12:26:20 字數 951 閱讀 9461

類與類的關係:組合、繼承、委託

inheritance(繼承)

composition(復合)

decegation(委託)

composition 表示has-a,我體內有另外乙個東西

a擁有b,a所有的功能可以都由b完成,b或許更強大,隨便開放一些功能就可以滿足a的需要。

a所佔記憶體的大小是根據b所擁有資料的記憶體和確定的。

composition關係下的構造與析構

構造是a所擁有的b先執行構造,然後才是a執行構造,由內而外進行。

析構是a先執行析構,然後執行b析構,是由外到內的。

decegation, composition by reference

在class內,通過一根指標,指向另外乙個類,從而呼叫另乙個類的功能。與composition類似,只是composition是真實擁有,decegation只是擁有乙個指標。

inheritance,表示is-a

父類的資料是被完整繼承下來的。

inheritance關係下的構造與析構

子類的建構函式首先呼叫父類的default建構函式,然後執行自己。

子類的析構函式首先執行自己,然後才呼叫父類的析構。

inheritance with virtual functions(虛函式)

在繼承的關係內,所有的東西都可以被繼承下來,data可以,是占用的記憶體一部分,函式也可以被繼承下來,函式的繼承,繼承的是呼叫權。

在語法上,我們只要在任何成員函式之前,加關鍵字virtual,就成為乙個虛函式。

non-virtual函式:你不希望子類override它。

virtual函式:你希望子類override它,並且你對他已有預設定義。

pure virtual函式:你希望子類一定要override它,你對它沒有任何預設定義。

純虛函式子類一定要override,空虛函式就可以不override。

第三週筆記

1什麼是注釋 注釋是用來介紹 的功能 也可以注釋一些 讓它不執行 2編譯好的class檔案注釋是不存在的 注釋只存在源 裡 1單行注釋 後面就是注釋內容 例如 2多行注釋 多行注釋 多行注釋 例如 3文件注釋 可以生成今後使用的功能說明書 1.0有固定書寫位置 類上可以寫 屬性上可以寫 方法可以寫 ...

第三週筆記

bytes bytes型別,不可變位元組序列.編碼和解碼 encode encoding utf 8 errors strict bytes decode encoding utf 8 errors strict bytes bytes型別的資料索引出的字元是int型別,如 a b abcde by...

第三週 PHP物件導向

屬性 方法 變數 也稱為 屬性 函式 也稱為 方法 都是類的成員.markdown 轉義字元 原樣輸出 php類屬性方法的呼叫 把成員方法和成員屬性封裝到類中,隱藏屬性和方法實現的細節 可以使乙個類繼承並擁有另乙個已經存在類的成員屬性和方法,被繼承的類稱為父類或基類,繼承類為子類 子類最多只能繼承乙...