封裝
封裝機制將數據和代碼捆綁到一起,避免了外界的干擾和不確定性。一個對象就是一個封裝了數據和操作這些數據的代碼的邏輯實體。
通過訪問權限這種控制方式,對象對內部數據提供了不同級別的保護。
繼承
繼承是可以讓某個類型的對象獲得另一個類型的對象的屬性和方法。
多態
實現不同類的對象,對同一個方法調用,產生不同的響應方式。
包括重載和動態綁定
(1)重載:同一個類中方法的重載——方法名相同,參數個數或參數類型不同,必須在一個域中,即:函數名稱相同但是函數參數不同。
(2)重寫:子類重寫父類中的抽象方法,或子類重寫父類中的虛方法
繼承:
子類不能從父類繼承的有:
1. 構造函數
2. 拷貝構造函數
3. 析構函數
子類能從父類繼承的有:
1、靜態成員變量
2、靜態成員函數
3、友元函數
4、賦值操作符=重載函數
繼承中的另一重要概念:
隱藏(hide):
指的是派生類的成員函數隱藏了基類函數的成員函數.隱藏一詞可以這么理解:在調用一個類的成員函數的時候,編譯器會沿著類的繼承鏈逐級的向上查找函數的定義,如果找到了那么就停止查找了,所以如果一個派生類和一個基類都有同一個同名(暫且不論參數是否相同)的函數,而編譯器最終選擇了在派生類中的函數,那么我們就說這個派生類的成員函數"隱藏"了基類的成員函數,也就是說它阻止了編譯器繼續向上查找函數的定義。