アクセサメソッドとミューテータメソッド
メニューを表示するにはスワイプしてください
カプセル化には、オブジェクトの一部のコンポーネントへの直接アクセスを制限することも含まれます。ここで、アクセサおよびミューテータ関数が重要となります。アクセサおよびミューテータ関数は、一般的にゲッターおよびセッターとして知られ、クラスのpublicデータメンバーへの制御されたアクセスを提供するprivateメソッドです。
**アクセサ関数(ゲッター)**は、privateデータメンバーの値を変更せずに読み取ることを可能にする関数です。データメンバーを隠し保護しながら、オブジェクトの状態を取得するために重要です。
getter.h
123456class Example { public: int get_member() { return member; } private: int member; };
**ミューテータ関数(セッター)**は、プライベートなデータメンバーの値を変更するための関数。オブジェクトの状態を制御された方法で変更する手段を提供。セッターを使用することで、データメンバーに有効なデータのみが代入されるようにバリデーションロジックを実装可能。
setter.h
123456class Example { public: void set_member(int value) { member = value; } private: int member; };
ゲッターとセッターの主な役割は、クラスのメンバーへのアクセスを管理し、直接操作によるエラーの発生を最小限に抑えること。例えば、特定のプロパティに過度に大きな値が代入されるのを制限できる。ヒーターの出力を値10までに制限し、それ以上に設定できないようにすることが可能。
main.cpp
12345678910111213141516#include <iostream> class Heater { public: void setPower(int value) { power = value > 10 ? 10: value; } int getPower() { return power; } private: int power; }; int main() { Heater heater; heater.setPower(7); std::cout << heater.getPower(); }
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 4
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 4