目次:
定義-Mutatorの意味?
C#のコンテキストにおけるミューテーターは、パブリックレベルのアクセシビリティを持つメソッドであり、クラスのプライベートメンバー変数の値を変更および制御するために使用されます。 ミューテーターは、タイプのプライベートフィールドに新しい値を割り当てるために使用されます。 変更する必要のある内部フィールド値へのアクセスのみを制御することにより、カプセル化を実装するツールを形成します。
ミューテーターを使用する利点は次のとおりです。
- ユーザーがオブジェクトインスタンスのプライベートデータに直接アクセスできないようにし、パブリックメソッドを介したアクセスのみを許可してデータ破損を防ぎます。
- オブジェクトのクライアントが使用するインターフェイスを壊すことなく、内部状態を表すオブジェクトのフィールドの内部表現を変更する柔軟性を提供します。
- ミューテーター内のフィールドの変更中に、値セットの検証、イベントのトリガーなどの追加の処理ロジックを含める機能。
- マルチスレッドのシナリオに必要な同期を提供します。
- 基本クラスで宣言されたミューテーターを派生クラスのコードでオーバーライドするための規定が含まれています。
TechopediaはMutatorを説明します
ミューテーターには通常、メンバー変数の値を返すアクセサーが用意されています。 不変のデータメンバーの場合、ミューテーターは提供されません。
たとえば、StudentDataは、名前、住所、成績などの学生の詳細を格納するクラスにすることができます。クラスには、パブリックメソッドSetGradeを含めることができます。 StudentDataは、オブジェクトを使用するコードからStudentDataオブジェクトを更新するミューテーターです。
ミューテーターは、プライベートフィールドを変更するための明示的なパブリックメソッドによってC ++で実装されますが、C#は、フィールド値を変更するミューテーターとフィールドをフェッチするアクセサーを実装する新しい機能として「プロパティ」を導入します。 各プロパティは、共通の中間言語コードで表され、フードの下に「get _」(アクセサ)と「set _」(ミューテータ)の接頭辞が付いたメソッドのペアが付いています。 これらは、共通言語ランタイム(CLR)によって内部的に呼び出されます。 これによりコードが簡素化され、場合によっては数学演算のパフォーマンスが可能になります。
ミューテーターは、オブジェクトで頻繁に使用されることはなく、オブジェクトの動作ではなく、その動作が考慮されます。
