C# のプロパティは、クラスのメンバ変数にアクセスするための特別なメソッドです。プロパティの使用により、クラスのメンバ変数を外部から隠蔽し、アクセス制御やデータの検証などの機能を追加することができます。
プロパティの書き方
プロパティは、次の構文で宣言します。
アクセス修飾子 型 プロパティ名 { get; set; }
例えば、次のコードは、int
型のメンバ変数 _count
を隠蔽し、Count
プロパティとして公開する例です。
public class MyClass {
private int _count;
public int Count {
get {
return _count;
}
set {
_count = value;
}
}
}
プロパティのアクセス修飾子は、メンバ変数のアクセス修飾子と同じものを使用します。get
アクセス修飾子は、プロパティの値を取得するためのメソッドを定義します。set
アクセス修飾子は、プロパティの値を設定するメソッドを定義します。
プロパティの使用
プロパティは、クラスのメンバ変数のように使用できます。例えば、次のコードは、MyClass
クラスのインスタンス mc
の Count
プロパティに値を設定する例です。
MyClass mc = new MyClass();
mc.Count = 10;
プロパティの値を取得するには、次のコードのようにします。
int count = mc.Count;
プロパティの利点
プロパティを使用すると、次の利点があります。
- メンバ変数を外部から隠蔽し、アクセス制御やデータの検証などの機能を追加することができます。
- メンバ変数の型を隠蔽し、クラスの柔軟性を高めることができます。
- メンバ変数のアクセスを簡潔に記述することができます。
プロパティの種類
プロパティには、次の3種類があります。
- 読み取り専用プロパティ
読み取り専用プロパティは、set
アクセス修飾子がないプロパティです。読み取り専用プロパティは、メンバ変数の値を取得するだけに使用できます。
例えば、次のコードは、読み取り専用プロパティの例です。
public class MyClass {
private string _name;
public string Name {
get {
return _name;
}
}
}
- 書き込み専用プロパティ
書き込み専用プロパティは、get
アクセス修飾子がないプロパティです。書き込み専用プロパティは、メンバ変数の値を設定するだけに使用できます。
例えば、次のコードは、書き込み専用プロパティの例です。
public class MyClass {
private int _count;
public void SetCount(int count) {
_count = count;
}
}
- 自動実装プロパティ
自動実装プロパティは、get
アクセス修飾子と set
アクセス修飾子のみを持つプロパティです。自動実装プロパティは、メンバ変数の型を指定することで、get
アクセス修飾子と set
アクセス修飾子のコードを自動的に生成することができます。
例えば、次のコードは、自動実装プロパティの例です。
public class MyClass {
private int _count;
public int Count {
get; set;
}
}
まとめ
プロパティは、クラスのメンバ変数にアクセスするための便利な機能です。プロパティを使用すると、メンバ変数を外部から隠蔽し、アクセス制御やデータの検証などの機能を追加することができます。
0 件のコメント:
コメントを投稿