關鍵概念:名字查詢與繼承
理解 c++ 中繼承層次的關鍵在於理解如何確定函式呼叫。確定函式呼叫遵循以下四個步驟:
1. 首先確定進行函式呼叫的物件、引用或指標的靜態型別。
2. 在該類中查詢函式,如果找不到,就在直接基類中查詢,如此循著類的繼承鏈往上找,直到找到該函式或者查詢完最後乙個類。
如果不能在類或其相關基類中找到該名字,則呼叫是錯誤的。
3. 一旦找到了該名字,就進行常規型別檢查,檢視如果給定找到的定義,該函式呼叫是否合法。
4. 假定函式呼叫合法,編譯器就生成**。如果函式是虛函式且通過引用或指標呼叫,則編譯器生成**以確定根據物件的動態型別執行哪個函式版本,否則,編譯器生成**直接呼叫函式。
繼承與this關鍵字
作用 實現對程式的反覆使用,提高程式的維護性。關鍵字extends 格式 修飾符 class 子類名 extends 父類名 使用原則 子類可以繼承父類中所有可被子類訪問的成員變數與成員方法 public protected 使用this關鍵字 當區域性變數和成員變數的名字相同時,成員變數就會被隱藏...
繼承與派生基礎概念
物件導向的程式設計主要有四個特點 抽象 封裝 繼承和多型。其中繼承是我認為最最重要的乙個特性,可以說繼承是物件導向的精華所在。舉乙個繼承的淺顯易懂的例子 假如我們已經有了乙個 馬 的類,其中成員變數有身長 身高 體重等,還有 吃 奔跑 等成員函式,現在我們想建立新類 公馬 和 母馬 很明顯公馬母馬具...
查詢Oracle自帶的方法名字和關鍵字
如何查詢oracle中的關鍵字,執行 select from v reserved words 其實內嵌的function,就是乙個系統的package內的function或者procedure。如果知道這個根本的原因,要找到這個內嵌的自帶function就很簡單了。這裡內嵌的自帶的fucntion...