注意)調べた限りでは日本語圏と英語圏で定義が異なる可能性あり。
下記は英語圏の定義である。
アクセサ、ミューテータ概要
アクセサ(accessors)はデータメンバにアクセスするためのメンバ関数。
データメンバの操作を行えるメンバ関数はミューテータ(mutators)と呼ばれる。
簡単に言うとゲッターはアクセサで、セッターはミューテータとなる。
Accessors are member functions that allow access to data members.
Member functions that allow for modification of the data members are called mutators.
アクセサとはなにか
クラスのprivateなデータメンバを取得できる。
そのためには下記が満たされている必要がある。
- アクセサは引数を必要としない
- アクセサの名前はGetというプレフィクスが必要
class Toto{ private : int age; public : int GetAge(); }; int Toto::GetAge(){ return age; }
ミューテータとはなにか
クラスのprivateなデータメンバを変更できる。
そのためには下記が満たされている必要がある。
- 引数として、データメンバに設定する値を持つ。その値はデータメンバと同じ型のもの。
- ミューテータは返り値を必要としない
- ミューテータの名前はSetというプレフィクスが必要
class Toto{ private : int _age; public : void SetAge(int); }; void Toto::SetAge(int age){ _age = age; }
オブジェクトの状態を変更するメソッド。
アクセサもミューテータに含まれる。