保持已有類的特性而構造新類的過程。
實現**的重用和設計的重用。(比如繼承乙個抽象類是為了繼承它的設計,抽象類並沒有完全實現,但是把介面設計好了,剩下的要自己實現)
當新問題出現,原有程式不能解決問題時,需要對原有程式進行改造。
吸收基類成員;
改造基類成員;(可以重寫同名的函式,覆蓋基類中的函式,資料成員也會隱藏基類中的資料成員)
新增新的成員。
基類的private成員不可直接訪問,派生類只能通過基類中的public函式去訪問這個私有成員。
派生類中的成員函式可以直接訪問基類的public和protected成員,不能訪問private成員。
通過派生類的物件只能訪問基類的public成員。
橫向來看,和private一樣,不能在類外被訪問。
縱向來看,在其繼承家族中,對於其派生類來說,protected和public成員的性質是相同的。
乙個公有派生類的物件在使用上能被當作基類的物件使用。具體表現在:
比如當需要乙個基類物件的時候,都可以用派生類來代替,編譯器會自動進行隱式轉換。
基類的引用和指標都可以指向派生類的物件,但是這些基類的物件名和指標只能訪問派生類中從基類繼承過來的成員部分。
【注意】絕對不要重新定義繼承而來的非虛函式!!想要在基類和派生類中實現類似功能的多型,可以用虛函式實現動態繫結!
C 繼承與派生(一)
1.1 繼承與派生是同一過程從不同的角度看 被繼承的已有類稱為基類 或者父類 派生出的新類稱為派生類 或子類 直接參與派生出某類的基類稱為直接基類 基類的基類甚至更高的基類稱為間接基類 繼承的目的 實現設計與 的重用 派生的目的 當新的問題出現,原有程式無法解決 或者不能完全解決 時,需要對原有的程...
C 的繼承與派生(一)
1.相關概念 物件導向程式設計有4個主要特點 抽象 封裝 繼承和多型性。其中,繼承性為其最重要的特徵。在c 中,繼承 就是在乙個存在的類的基礎上建立乙個新的類。已存在的類稱為 基類 或 父類 新建立的類稱為 派生類 或 子類 派生與繼承是一對相對的詞,乙個新類從已有類那裡獲得其已有的特性,叫作繼承,...
C 繼承與派生
派生新類 吸收已有類的成員 調整已有類成員和新增新的成員 class 派生類名 繼承方式 基類名1,繼承方式 基類名2,派生類成員宣告 繼承方式有 public protected private 預設 公有繼承 基類的公有和保護乘員的訪問屬性在派生類中不變,基類的私有成員不能直接訪問 型別相容規則...