C++ 中的抽象
抽象涉及只提供相關資訊給外部世界,並隱藏後臺詳細資訊。它依賴於程式設計中的介面和實現分離。
類在 C++ 中提供了抽象。它們為外部世界提供了用於操作資料的公共方法,並將類的其餘結構保留給自己。因此,使用者可以在不知道類如何在內部實現的情況下,根據需要使用該類。
以下是使用類在 C++ 中實現抽象的程式。
示例
#include <iostream> using namespace std; class Abstraction { private: int length, breadth; public: void setValues(int l, int b) { length = l; breadth = b; } void calcArea() { cout<<"Length = " << length << endl; cout<<"Breadth = " << breadth << endl; cout<<"Area = " << length*breadth << endl; } }; int main() { Abstraction obj; obj.setValues(5, 20); obj.calcArea(); return 0; }
輸出
Length = 5 Breadth = 20 Area = 100
在上面的程式中,Abstraction 類中的 length 和 breadth 是私有變數。有公共函式初始化這些變數,並透過乘以 length 和 depth 來計算面積。因此,此類演示了抽象。該程式碼片段如下所示。
class Abstraction { private: int length, breadth; public: void setValues(int l, int b) { length = l; breadth = b; } void calcArea() { cout<<"Length = " << length << endl; cout<<"Breadth = " << breadth << endl; cout<<"Area = " << length*breadth << endl; } };
在 main() 函式中,首先定義型別為 Abstraction 的物件。然後,使用值 5 和 20 呼叫函式 setValues()。最後,使用函式 calcArea() 顯示這些值和麵積。該程式碼片段如下所示。
Abstraction obj; obj.setValues(5, 20); obj.calcArea();
廣告