C ++仮想クラスは、Javaの抽象クラスに相当します。インターフェイスとの違いは次のとおりです。
1.サブクラスは1つの抽象クラス(仮想クラス)のみを継承できますが、複数のインターフェイスを実装できます
2.抽象クラスにはコンストラクターメソッドを持つことができますが、インターフェイスにはコンストラクターメソッドがありません。
3。抽象クラスのメソッドは、必ずしも抽象的なメソッドではありません。つまり、それらのメソッドには実装(メソッドボディを使用)を持つことができます。インターフェイス内のメソッドは抽象的なメソッドであり、メソッド本体は存在できず、宣言のみが存在します
4.抽象クラスは、パブリック、プライベート、保護された、デフォルトであり、インターフェイスにはパブリックのみがあります
5.抽象クラスのメソッドは、パブリック、プライベート、保護された、デフォルトにすることができます。インターフェイス内のメソッドは、公開され、デフォルトのみです。
同じことは、どちらもインスタンス化することはできません。
追加メモ:インターフェイスは、この方法で理解できる特別なタイプの抽象クラスであり、より抽象的なクラスです。抽象クラスは不完全なクラスであり、インターフェイスはいくつかの関数のみを定義します。たとえば、抽象クラスとインターフェイスを使用して、「犬」を説明します。抽象クラスは一般的なクラスの前に抽象を追加し、「豚は手足で走ることができ、豚はこのように走ることができます...」と言います。インターフェイスは「豚が走ることができ、走るのはサブクラスです」と言うことができます。
上記の記事では、JavaインターフェイスとC ++仮想クラスの類似点と相違点について簡単に説明します。これは私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。