繼承的三兩事

2022-08-29 08:12:11 字數 1446 閱讀 6876

何為繼承:

形式上就是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就會顯示有檔案修改,這並不是我們想要的 那麼如...