資料抽象:僅對外提供關鍵資訊,隱藏後台實作細節。現實例:電視機——您操作遙控器(介面),不知內部訊號處理(實作)。
C++ 類別提供公有方法操作物件資料,外界不需知曉內部實作。例:sort() 函式——呼叫者不知排序演算法,僅依賴介面不變。
#include <iostream>
using namespace std;
int main() { cout << "Hello C++" << endl; return 0; }
cout 底層實作可自由變更,介面不變即可正常運作。
public:定義類別的抽象視圖,所有程式碼可存取private:隱藏實作細節,使用類別的程式碼無法存取標籤出現頻率無限制,效力持續至下一標籤或類別結束。
若資料為 public,任何直接存取舊表示法的函式都可能受影響;私有化資料僅需檢查類別內部程式碼。
公有 addNum、getTotal 為介面;私有 total 為隱藏資料。
抽象將程式碼分離為介面與實作。設計組件時必須保持介面獨立於實作,實作變更時介面不變,使用者程式碼無需修改,僅重新編譯最新實作。