資料抽象和封裝基礎知識__筆記,供以後複習用:
類背後蘊含的基本思想是資料抽象和封裝
資料抽象是一種依賴於介面和實現分離的程式設計和設計技術。類的設計者必須關心類是如何實現的,但是使用該類的程式設計師不必了解這些細節,僅需抽象地考慮該型別能做什麼。
封裝
是一項將低層次的元素組合起來形成新的、高層次實體的技術。函式和類都是封裝的形式。被封裝的元素
隱藏了他們的實現細節,其主要優點在於:
避免類內部出現無意的、可能破壞物件狀態的使用者級錯誤;使得修改類的實現時只要保持介面不變,就無需改變使用者級**。
類中可以定義的內容包括:資料成員、成員函式和型別別名:如string類中定義的string::size_type型別,這些型別別名一般定義為public以便使用者使用它。
類的兩個過載成員函式形參個數和型別不能完全相同,不能通過返回值型別區分兩個函式是否過載。
inline成員函式的定義必須在呼叫該函式的每個原始檔中是可見的。不在類定義體內定義的inline成員函式,其定義通常應該放在有類定義的同乙個標頭檔案中。
在標頭檔案中將類定義完後,千萬不要忘記在最後乙個右花括號後面的分號。
class a
;
類定義:一旦遇到右花括號,類的定義就結束了。
class b ;
並且一旦定義了類,那就知道了所以的類成員,以及儲存該類物件的所需的儲存空間
可以宣告乙個類而不定義它:
class a;
這個宣告有時稱為前向宣告。在宣告之後定義之前,類是乙個不完全型別,即已知a是個型別,但不知道包含哪些成員。
不完全型別只能以有限的方式使用。不能定義該型別的物件。不完全型別只能用於定義指向該型別的指標及引用,或者用於宣告(而不是定義)使用該型別作為形參型別或返回型別的函式。
在建立類的物件之前,必須完整地定義該類。必須定義類,而不只是宣告類,這樣編譯器就會給類物件分配相應的儲存空間。同樣,在使用引用或指標訪問類的成員之前,必須已經定義類。
只有當類定義已經在前面出現過,資料成員才能被指定為該類型別。如果該型別是不完全型別(沒有完整定義),那麼資料成員只能是指向該類的指標或引用。
基礎知識 封裝 繼承 多型 抽象
封裝 是物件導向方法的重要原則,就是把物件的屬性和行為 資料 結合為乙個獨立的整體,並盡可能隱藏物件的內部實現細節,就是把不想告訴或者不該告訴別人的東西隱藏起來,把可以告訴別人的公開,別人只能用我提供的功能實現需求,而不知道是如何實現的。增加安全性 public class person publi...
C 基礎知識整理 基礎知識(6) 抽象類和抽象方法
在實際專案中,當我們設計乙個父類時,經常會遇到這個類不能確定它的具體執行流程的。比如我設計乙個檔案類 public class afile public string path public filetype type public afile string name,string path,fil...
C 基礎知識整理 基礎知識(6) 抽象類和抽象方法
在實際專案中,當我們設計乙個父類時,經常會遇到這個類不能確定它的具體執行流程的。比如我設計乙個檔案類 public class afile public string path public filetype type public afile string name,string path,fil...