C++に混在するオブジェクトコンセプトとキーワードpublic、protected、private

1425 ワード

OOAD(オブジェクト解析と設計向け)は,1つのオブジェクトの特徴を属性と呼び,その動作をサービスまたはメソッドと呼ぶ.
対象は行為を有し、かつ外部からの情報(情報伝達)を受け入れることができるため、対外的には一定の情報を提供することができる
のサービスです.オブジェクトにパラメータを渡し、対応する関数を呼び出すと、サービスの提供を要求します.
オブジェクト間では、提供可能なサービスによってコミュニケーションをとり、特定のタスクを完了することができます.
アクセス制御:
public任意のコードprotectedこのクラス自体とサブクラスprivateはクラス自体しかない.
C++は、クラスで定義されたメソッドと属性にアクセス制御を行うだけでなく、
サブクラスがベースクラスにアクセスできるメソッドとプロパティを制御することもできます.
privateはコンパイラにベースクラスから継承されたことを伝えています
各メンバーはprivateとして扱われ、
これは、このサブクラスのみがベースクラスから継承された要素を使用できることを意味します.
 
C++のCに対する最も根本的な変化は関数を構造の中に置いて、それによってC++クラスを生みました.
クラスはデータと関数を結合し、その中でデータはクラスの属性(データメンバー)を表し、関数はクラスの行為を表し、
メンバー関数、メソッド、またはサービス.C++が提供したキーワード
public 、protected、 private
公開アクセス、プライベートアクセス、または保護された(制限されたアクセス)データと関数を宣言するために使用されます.
これで情報隠蔽の目的を達成した.
class WhoAmI{

public:

      WhoAmI(std::string theName);

      ~  WhoAmI();

      void GetMyName(void);  //      

   

protected:

      void GetMyAsset(void);//       ,           

      std::string name;//       ,          。

private:

      void GetMyGuilty(void);//       ,        。

...

};

WhoAmI::WhoAmI(std::string theName)

{

      name=theName;

}

int main()

{

      WhoamI    boy("Jack");

      //boy.name="Jim";//    

      return 0;

}

//プロパティにprotectedを使用する:protectdパラメータに対してオブジェクトを作成するときに行うことができます
//初期化しますが、付与などの修正動作はできません(前に初期化や同じ値が付与されていなくても).