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();

更新於:2020 年 6 月 24 日

1K+ 瀏覽

開啟 職業生涯

完成課程獲得認證

開始
廣告