アクセサー⑤&自動実装プロパティ
ども!こんばんは!
クローバーフィールドの伊関です。
いよいよ近所でセミが鳴き始めました。
梅雨も明けておらんのに、もうほぼほぼ夏本番になってきております。
伊関の心の準備は全くできておりませんけども?
さて、今日で長いことやってきたアクセサーが終わり、新たに実装プロパティに入っていきます。
テレビの電源と音量は外部から直接指定する必要はないので、TelevisionクラスのPowerとVolumeは次のように読み取り専用のプロパティに書き換えてください。
読み取り専用のプロパティへの変更(ClassSample:Television.cs)
1 2 3 4 5 6 7 8 9 10 11 | private int channel; //現在のチャンネル private int volume; //現在の音量 : public bool Power { get{return power;} } :public int Volume { get{return volume;} } |
・自動実装プロパティ
C#3.0からサポートされた自動実装プロパティを使うと、非常に簡潔にプロパティを定義できます。
自動実装プロパティ
アクセス修飾子 データ型プロパティ{get;set;}
使用例
public string Name{get;set;}
このとき、コンパイル時に自動的に内部でフィールドが作成されるので、プログラムにフィールドを記述する必要がなくなります。もし、値の取得のみを行いたい場合には、次のようにsetの前にprivateをつけて外部からはsetができないようにしてください。
public string Name{get; private set;}
以上です。
本格的な適用例は次回に書かせていただきます。
さて、伊関もクローバーフィールドに入社しまして早3カ月たちました。
初めてのことばかりで、あたふたしまっくてる毎日でございますが、どうやら私は少し意地っ張りな性格があるようです。
30にもなって大変お恥ずかしい話ではあるのですが、どうにもへそを曲げてしまうところが最近見受けられます。
まぁ周りをみわたせば、そんなことを意識すらしていない人もいますが、
伊関はどうにもこうにも自分の悪いところを無視できないようです。
こうやって一つ一つ気づくたびに改善していければいいですね(希望)
勉強したり仕事の経験を積むばかりではなく、自分の内面を常に更新していきたい今日この頃です。
では。