何為繼承:
形式上就是a:b a繼承b
定義就是:a可以呼叫b的非私有成員
關於名稱:
a可以被稱為子類也可以被稱為派生類
b可以被稱為基類,超類和父類
繼承是使用已存在的類定義作為基礎建立新類的技術,新類的
定義可以增加新的資料或新的功能,也可以使用父類的功能
也就是說 在有繼承關係的兩個類中,子類不僅具有自己獨有的成員
還具有父類的成員
關於在繼承中的幾個單詞的意義:
this是表示當前例項,通過它可以訪問類的本身的成員。
base可以用於訪問父類的成員(方法 建構函式 屬性)
protected允許被其子類訪問,而不允許其非子類訪問
談到protected 就說說public private protected 三者的範圍
修飾符 類內部 子類 其他類
public 可以 可以 可以
protected 可以 可以 不可以
private 可以 不可以 不可以
三種訪問修飾符對類成員的訪問限制強度
private > protected > public
this 在此不多說
base 此關鍵字是呼叫父類建構函式時,只能傳遞引數,無須再次指定引數
的資料型別,這些
引數的變數名必須與父類建構函式的
引數名一致,不一致時會報錯 子類建構函式不指明呼叫父類那個構造
函式時 系統會預設的呼叫父類的無參建構函式
繼承的特性
單根性
乙個子類不能同時繼承多個直接父類 但可以有多個間接父類 就像
樹根一樣從下往上尋找樹根時 分節點有很多 但
只有一根是始終延續的
傳遞性
a:b b:c 則 相當於 a:c
就像是 父親繼承爺爺的家產 兒子繼承父親的家產一樣 歸根結底還是兒子繼承
爺爺的財產 這個財產就是這三個類同有的成員
繼承的價值
模擬現實世界的關係
便於重用和擴充套件已徹底測試的**,且無需修改
結構更清晰
多型的概念
就我個人的理解,多型是乙個操作被不同物件呼叫時,產生不同結果的過程
就比如說 同樣是問好
中國人是 您好
美國人是 哈嘍 南韓人是 啊泥啊塞呦
Redis的三兩事
2.測試執行 開啟乙個cmd 視窗 管理員身份執行 使用cd命令切換目錄到自己解壓後資料夾的目錄中 如 我的是d program files redis x64 3.0.500 執行 redis server.exe redis.windows.conf,出現下圖.這時候另啟乙個cmd視窗,原來的c...
rocksDB的LRU cache 三兩說
先講單shard的lru cache,主要有3個資料結構 lruhandle 作為lru的乙個個體元素,其資料結構如下,next,prev是在lru的雙向列表的next和prev,next hash是在hash table用來解決拉鍊位址衝突。key data 1 被分配了連續的位址,用來儲存key...
Cornerstone忽略指定檔案三兩談
場景再現 接手新的已存在的專案時,把原始碼check out到本地,會產生一些和使用者狀態相關的檔案 舉例子 xcuserdatad儲存專案檔案目錄狀態和斷點資訊 這些檔案並不需要被加入版本控制中 當你在xcode中改變斷點資訊後,cornerstone就會顯示有檔案修改,這並不是我們想要的 那麼如...