C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++でのプライベート、パブリック、および保護された継承の違い


データの非表示は、オブジェクト指向プログラミングの重要な機能の1つであり、プログラムの機能がクラス型の内部表現に直接アクセスするのを防ぐことができます。クラスメンバーへのアクセス制限は、ラベル付けされたアクセス修飾子(クラス本体内のパブリック、プライベート、および保護されたセクション)によって指定されます。

メンバーとクラスのデフォルトのアクセスはプライベートです。

サンプルコード

class Base {
   public:
      // public members go here
   protected:
      // protected members go here
   private:
      // private members go here
};

パブリックメンバーは、クラス外のどこからでもプログラム内からアクセスできます。メンバーがなくても、パブリック変数の値を設定および取得できます。

プライベートメンバーの変数または関数にアクセスしたり、クラスの外部から表示したりすることはできません。クラスと友達の関数だけがプライベートメンバーにアクセスできます。

保護されたメンバーの変数または関数はプライベートメンバーと非常に似ていますが、派生クラスと呼ばれる子クラスでアクセスできるという1つの追加の利点があります。


  1. C#でのクラスと構造の違い

    クラスと構造を区別するには、最初に、データの保持と定義のコンテキストでは、構造とクラスの両方が同等であるように見えることを理解する必要があります。これらは両方とも、データメンバーにいくつかのデフォルト値を定義および保持することができます。しかし、この文脈を超えてそれらを考慮すると、クラスは構造と比較して機能性とともにより多くの柔軟性を提供します。 クラスと構造の重要な違いは次のとおりです。 Sr。いいえ。 キー クラス 構造 1 データ型 クラスで定義されたデータは参照としてメモリに保存され、アクセスするための特定のアドレスを持っているため、クラスは参照型であると言えます。

  2. Javaでの継承と構成の違い

    コンポジションは、クラスがクラスのフィールドとして別のクラスのインスタンスを持つことができる設計手法です。継承は、クラスを拡張することにより、1つのオブジェクトが親オブジェクトのプロパティと動作を取得できるメカニズムです。 構成と継承はどちらも、クラスを関連付けることでコードの再利用性を提供します。コンポジションを使用すると、継承の機能も取得できます。以下は違いです。 Sr。いいえ。 キー 継承 構成 1 基本 継承は「is-a」関係です 構成は「has-a」です。関係 2 コードの再利用 継承では、クラスlassは1つのインターフェースしか拡