C ++のアクセサとミューテータ

オブジェクト指向プログラミングの最も重要な側面の1つはカプセル化です 。これにより、データメンバーとメンバー関数のラベルを定義し、それらが他のクラスからアクセス可能かどうかを指定できます。 その結果、 非公開としてラベル付けされたデータメンバは、他のクラスのメンバ関数によって直接操作することはできません。 これらのデータメンバを操作できるようにするには、クラスの作成者はpublicとラベル付けされた特別なメンバ関数を提供しなければなりません。

アクセサ関数とミューテータ関数

アクセサは、データメンバへのアクセスを許可するメンバ関数です。 データメンバーの変更を可能にするメンバー関数はミューテーターと呼ばれます。

アクセサとは何ですか?

アクセサは、誰かが保護されたデータメンバの内容を取得できるようにするメンバ関数です。 アクセサがその機能を実行するには、次の条件を満たす必要があります。

1)アクセサは、返された変数と同じ型でなければなりません。

2)アクセサは引数を持つ必要はありません。

3)命名規則が存在しなければならず、アクセサの名前は "Get"接頭辞で始まっていなければなりません。

最も単純な式に簡略化されたアクセサの構文は、次のようになります。

 クラスMaClasse {

非公開

TypeDeMaVariable MaVariable。

公開:

TypeDeMaVariable GetMaVariable();

;

TypeDeMaVariable MaClasse :: GetMaVariable(){

MaVariableを返します。

}

上記の例では、データメンバのアクセサは次のようになります。

 クラスToto {

非公開

int age;

公開:

int GetAge();

;

int Toto :: GetAge(){

年齢を返す。

}

ミューテーターとは何ですか?

ミューテーターは、保護されたデータメンバーの内容の編集を可能にするメンバー関数です。 ミューテーターがその機能を果たすためには、以下の条件が存在しなければなりません:

1)パラメータとして、データメンバに割り当てられる値を持つ必要があります。 パラメータはデータメンバと同じ型でなければなりません。

2)ミューテーターは値を返す必要はありません。

3)命名規則が存在しなければならず、アクセサの名前は "Set"接頭辞で始まります。

ミューテーターの構文を最も単純な式に整理すると、次のようになります。

 クラスMaClasse {

非公開

TypeDeMaVariable MaVariable。

公開:

void SetMaVariable(TypeDeMaVariable);

;

MaClasse :: SetMaVariable(TypeDeMaVariable MaValeur){

MaVariable = MaValeur;

}

上記の例では、データメンバーのミューテーターは次のようになります。

 クラスToto {

非公開

int _age;

公開:

void SetAge(int);

;

void Toto :: SetAge(int age){

_age =年齢

}

原文はCommentcaMarche.netに掲載されています。

前の記事 次の記事

トップのヒント