類規範:包括類聲明以及類方法定義 類聲明提供類的藍圖 方法定義提供細節 常見不通用的約定:類名首字母大寫 類介面: 介面由編寫類的人提供的方法組成。介面讓程式員能夠編寫與類對象交互的代碼,從而讓程式能夠使用類對象。 要使用某個類,必須瞭解其公共介面;要編寫類,必須創建其公共介面。 通常,C++程式員 ...
類規範:包括類聲明以及類方法定義
- 類聲明提供類的藍圖
- 方法定義提供細節
- 常見不通用的約定:類名首字母大寫
類介面:
- 介面由編寫類的人提供的方法組成。介面讓程式員能夠編寫與類對象交互的代碼,從而讓程式能夠使用類對象。
- 要使用某個類,必須瞭解其公共介面;要編寫類,必須創建其公共介面。
- 通常,C++程式員將介面(即類聲明的一部分)放在頭文件中,並將實現(類方法的代碼)放在源代碼文件中。
類、實例、對象:
C++關鍵字class指出定義一個類設計,該類聲明的變數稱為類或實例
類數據成員、類函數成員:
- 要存儲的數據以類數據成員的形式出現
- 要執行的操作以類函數成員的形式出現
- 成員函數可以就地定義,也可以原型表示
- 每個新對象都有自己的存儲空間,用於存儲其內部變數和類成員;但同一個類的所有對象共用同一組類方法。
訪問控制(public、private、protected):
-
使用類對象的程式都可以直接訪問公有部分,但只能通過公有函數(或友元函數)來訪問對象的私有成員
-
防止程式直接訪問數據被稱為數據隱藏
- 不必在類聲明中使用private,因為這是類對象的預設訪問許可權
封裝(隱藏數據和實現):
- 將實現細節放在一起並將它們與抽象分開被稱為封裝。例:
- 將實現的細節隱藏在私有部分中
- 將類函數定義和類聲明放在不同文件中
- 數據隱藏也是一種封裝
類和結構:
- C++對結構進行了擴展,使之具有與類相同的特性。它們之間唯一的區別是,結構的預設訪問類型是public,而類為private。
- C++程式員通常使用類來實現類描述,而把結構限製為只表示純粹的數據對象
實現類成員函數:
- 定義成員函數時,使用作用域解析運算符(::)來標識函數所屬的類(未在類中定義)
- 類方法可以訪問類的private組件,訪問對象其它成員函數不必使用作用域解析運算符
內聯方法:
- 定義位於類聲明中的函數都將自動成為內聯函數
- 可以在類聲明之外定義成員函數,並使其稱為內聯函數(使用inline)
- 內聯函數的特殊規則要求在每個使用它們的的文件中都要對其進行定義(通常放在頭文件中)
方法使用哪個對象:
在OOP中,調用成員函數被稱為發送消息,消息發送給調用它的對象,即使用調用它的對象
公有介面:
公有部分的內容構成了設計的抽象部分即公有介面
成員運算符:句點(.)