C++ のインターフェイスとは

C Nointafeisutoha



一般に抽象クラスとして知られるインターフェイスは、クラスの実装にコミットすることなく、クラスの動作を記述する単なるソースです。 C++ プログラミングには、組み込みのインターフェイスの概念はありません。インターフェイスの作成を開始するには、まず、純粋仮想関数のみを使用して抽象クラスを確立する必要があります。

C++ のインターフェイスは、抽象クラスを使用して適用されます。一方、クラス内の少なくとも 1 つの関数が純粋仮想関数として宣言されている場合、そのクラスは抽象クラスと呼ばれます。

純粋仮想機能とは

純粋仮想機能 つまり、ユーザーは関数の定義ではなく関数を宣言するだけです。メソッド/関数のオーバーライドは、派生クラスで純粋仮想メソッドを実装するために使用されます。以下に示すようにクラス内で記述されている場合、関数は純粋仮想と見なされます。







これが a の構文です。 純粋仮想機能 クラス ルームの。



クラス 部屋 {
公共 :
// 純粋仮想関数
バーチャル ダブル ゲタリア ( ) = 0 ;

プライベート :
ダブル 長さ ; // 部屋の長さ
ダブル ; // 部屋の幅
} ;

抽象クラスとは

基本クラスとして機能する目的で特別に作成されたクラスは、 抽象クラス .抽象クラスには、少なくとも 1 つの純粋仮想関数が存在する必要があります。変数と標準関数が含まれる場合があります。抽象クラスが持つ派生クラスは、基本クラスの純粋仮想関数を実装する必要があります。そうしないと、抽象クラスになります。



次の例を考えてみましょう。この例では、親クラスが基本クラスにインターフェイスを提供し、基本クラスが純粋仮想関数を適用するために呼び出されます。 getArea() . 2 つの異なるクラスが同じものを使用する getArea() 機能しますが、両方の場合の出力は異なります。





#include
使用して 名前空間 標準 ;
クラス
{
公共 :
バーチャル 整数 ゲタリア ( ) = 0 ;
空所 設定幅 ( 整数 )
{
= ;
}

空所 長さを設定 ( 整数 l番目 )
{
長さ = l番目 ;
}

保護された :
整数 ;
整数 長さ ;
} ;

クラス 矩形 : 公共
{
公共 : 整数 ゲタリア ( )
{
戻る ( * 長さ ) ;
}
} ;

クラス 三角形 : 公共
{
公共 : 整数 ゲタリア ( )
{
戻る ( * 長さ ) / 2 ;
}
} ;

整数 主要 ( 空所 )
{
長方形R ;
トライアングルT ;
R. 設定幅 ( 9 ) ;
R. 長さを設定 ( 5 ) ;
カウト << '長方形の面積: ' << R. ゲタリア ( ) << エンドル ;
T. 設定幅 ( 9 ) ;
T. 長さを設定 ( 5 ) ;
カウト << '三角形の面積: ' << T. ゲタリア ( ) << エンドル ;
戻る 0 ;
}

出力



インターフェイスの重要性

純粋な抽象クラス (インターフェース) から派生したクラスは、基本クラス、つまりインターフェースの各メソッドを常に実装する必要があります。クラスだけでなく関数にもインターフェイス ポインターを渡すことができ、そこから派生クラスの関数を呼び出すことができます。

インターフェイスを使用するためのルールは何ですか

C++ でインターフェイスを使用する場合、ユーザーが従うべき次の規則があります。

  • 純粋仮想関数のみを宣言します。
  • 純粋仮想関数に 0 のみを割り当てます。
  • クラスのインターフェースを作成しないでください。
  • 基本抽象クラスへの参照を使用して、派生クラスのインスタンスへのポインターを作成できます。

次のコードでは、インターフェイス Linuxヒント 、純粋仮想メソッドを使用して抽象クラスが作成され、その関数が子クラスに適用されたように、 returnString() インターフェイス規則に従って、main 関数内のメソッド。

#include
#include
#include <文字列>
使用して 名前空間 標準 ;

クラス Linuxヒント
{
公共 :
バーチャル 文字列 returnString ( ) = 0 ;
} ;
クラス 子供 : 公共 Linuxヒント
{
公共 :
文字列 returnString ( )
{
戻る 「こんにちは Linuxhint」 ;
}
} ;
整数 主要 ( )
{
子 child_object ;
Linuxヒント * ptr ;
ptr = & child_object ;
カウト < returnString ( ) ;
戻る 0 ;
}

出力

結論

インターフェイスは、必要なクラスを C++ で実装するために必要なクラスの動作を記述する抽象クラスです。上記のガイドラインは、インターフェースを使用して C++ プログラミングのスキルを向上させる初心者にとって重要です。 C++ でのインターフェイスの実装を学習するのに役立つ例もいくつかあります。