プロパティとは?
プロパティとは、特殊なメソッドで、普通の値のように使えるが、値の取得と設定をする際に、独自のロジックを記述することができ、C#ではこの機能でカプセル化を実現することが可能です。
プロパティがあると何がいい?
プロパティを使うことで、Get用のメソッドとSet用のメソッドを用意しなくても、1つの名前でgetとsetのロジックを記述することが可能となります。
また、WinFormsやWPFなどのデータバインディングでは、プロパティが必要になります。
読み取り専用と書き込み専用
プロパティのSetを記述しないことで読み取り専用のプロパティを作成することができます。また、Getを記述しないことで、書き込み専用のプロパティを作成することができます。
通常は読み込むことは無害であることが多いので、書き込み専用のプロパティというのはあまり使いません。読み取り専用はよく使います。
サンプルコード
namespace CS23 { public class Counter { private int _count = 0; public Counter(int count) { _count = count; } public int Count { get { //ここで事前処理をすることもできる return _count; } set { //ここで自由にチェックができる、統一する。 _count = value; } } public void Call() { _count++; } } }
「public int Count」の部分がプロパティです。getとsetの部分で_countの値を返却及び、編集しています。メソッドでのカプセル化と同様に、値を設定する前に、ロジックを記述することが可能です。読み取り専用にする場合は、setの部分をprivateにするか、記述しないことで実現できます。
自動実装プロパティ
値に対して特にチェックロジック等を記述することがない場合は、自動実装プロパティという書き方をすることで、privateフィールドの記述を省略できます。
namespace CS23 { public class Counter { public Counter(int count) { Count = count; } public int Count { get; set; } = 0; public void Call() { Count++; } } }
Privateで宣言していた_countを削除し「public int Count { get; set; } = 0;」の1行で表現できるようになっています。特にロジックを記述することがなければ、この実装にしておいて、必要になったときに、ロジックを書き込むようにしても問題はありません。
- C#初心者のための基礎!C#文法2割の知識で8割の仕事をする方法!#1
- C#初心者のための基礎!ブロックと名前空間とクラスとメソッドを解説#2
- C#初心者のための基礎!#3値の扱い方。変数と定数をわかりやすく解説!
- C#初心者のための基礎!データ型の種類と使い分けをわかりやすく解説#4
- C#初心者のための基礎!値型と参照型の違いと使い方をわかりやすく解説#5
- C#初心者のための基礎!データ型の変換のやり方をわかりやすく解説#6
- C#初心者のための基礎!配列の使い方をわかりやすく解説#7
- C#初心者のための基礎!動的配列List<T>の使い方をわかりやすく解説#8
- C#初心者のための基礎!演算子の使い方をわかりやすく解説#9
- C#初心者のための基礎!if文とswich文の使い方をわかりやすく解説#10
- C#初心者のための基礎!while文の書き方と使い方をわかりやすく解説#11
- C#初心者のための基礎!do-While文の書き方と使い方をわかりやすく解説#12
- C#初心者のための基礎!for文の書き方と使い方をわかりやすく解説#13
- C#初心者のための基礎!foreach文の書き方と使い方をわかりやすく解説#14
- C#初心者のための基礎!オブジェクト指向の意味をわかりやすく解説#15
- C#初心者のための基礎!クラスの意味と使い方をわかりやすく解説#16
- C#初心者のための基礎!コンストラクタの意味と使い方をわかりやすく解説#17
- C#初心者のための基礎!アクセス修飾子の意味と使い方をわかりやすく解説#18
- C#初心者のための基礎!メソッドの意味と使い方をわかりやすく解説#19
- C#初心者のための基礎!フィールドの意味と使い方をわかりやすく解説#20
- C#初心者のための基礎!インスタンスの意味と使い方をわかりやすく解説#21
- C#初心者のための基礎!カプセル化の意味と使い方をわかりやすく解説#22
- C#初心者のための基礎!プロパティの意味と使い方をわかりやすく解説#23
- C#初心者のための基礎!Disposeとusingの意味と使い方を解説#24
- C#初心者のための基礎!staticスタティックの意味と使い方を解説#25
- C#初心者のための基礎!継承の意味と使い方をわかりやすく解説#26
- C#初心者のための基礎!override(オーバーライド)の使い方を解説#27
- C#初心者のための基礎!ポリモーフィズムとインタフェースの使い方を解説#28
- C#初心者のための基礎!ポリモーフィズムと抽象クラスの使い方を解説#29
- C#初心者のための基礎!例外Exceptionの意味と使い方をわかりやすく解説#30