c++物件導向的特性可以總結為:封裝、繼承和多型。這也是大多數教材中提到的c++的三大特性。
封裝:封裝就是講程式模組化,物件化,把具體事物的特性屬性和通過這些屬性來實現一些動作的具體方法放在乙個類中。物件是封裝的最基本單位。屬性用變數定義,行為用方法定義,方法可以直接訪問同乙個物件中的屬性。
繼承:繼承是子類自動共享父類資料和方法的機制。父類的相關屬性,可以被子類重複使用,而對於自類中需要用到的新的屬性和方法,子類可以自己擴充套件。
多型:多型包含了過載和重寫。
重寫(覆蓋,一般發生在父類和子類中)就是把子類從父類裡繼承下來的方法重寫一遍,這樣父類裡相同的方法就被覆蓋了;
過載(發生在同乙個類中)相同方法名,不同形參,返回值相同
多型可以簡單地理解為「乙個介面,多種方法」,程式在執行時才決定呼叫的函式,c++多型性時通過虛函式來實現的,虛函式允許子類重新定義成員函式,而子類重新定義父類的做法成為覆蓋或重寫,只有重寫了虛函式才算體現出c++多型性
本身區別過載和覆蓋並不算困難,但是c++的隱藏規則使得問題複雜度公升高,隱藏是指派生類的函式遮蔽了與其同名的基類函式
- 如果派生類中的函式與基類的函式同名,但是引數不同,此時,無論有無virtual關鍵字,基類的函式都將被隱藏;
- 如果派生類中的函式與基類函式同名,且引數也相同,但是基類函式沒有virtual關鍵字,此時基類的函式被隱藏
物件導向知識點總結
1 物件導向的特徵 物件導向的三個基本特徵是 封裝 繼承 多型。封裝 也就是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。繼承 物件導向程式設計 oop 語言的乙個主要功能就是 繼承 繼承是指這樣一種能力 它可以使用現有類的所有功能,並在無需...
物件導向知識點小總結
what when where why whom,how 類與物件的關係 類是物件的抽象,物件是類的實現 類是由方法和屬性構成,它的每乙個物件都有對應的屬性和方法 方法 方法的過載 目的 針對同乙個行為的多種表現,對應相同方法名的多個方法 方法名相同,引數列表不同 類方法 static方法 類名.方...
C 面試知識點總結
巨集定義求最大值 define max x,y x y x y const與define區別define 在編譯前執行,無資料型別,僅僅在編譯前做替換const存在於程式中資料段,分配空間,有資料型別 與c中 define的異同 在c 中的用法 1.與c中 define相同的功能 字元替換 2.保護...