類與類的關係:組合、繼承、委託
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類屬性方法的呼叫 把成員方法和成員屬性封裝到類中,隱藏屬性和方法實現的細節 可以使乙個類繼承並擁有另乙個已經存在類的成員屬性和方法,被繼承的類稱為父類或基類,繼承類為子類 子類最多只能繼承乙...