自動実装のプロパティ②
どもこんばんは!
クローバーフィールドの伊関です。
本日は先日の自動実装のプロパティを実際に適用してみた事例を見ていきましょう。
自動実装のプロパティの適用(ClassSample:Television.cs)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | class Television { ←自動的に内部でフィールドが作成されるようになるので、powerとvolumeを削除する。 private int channel; //現在のチャンネル private const int channelMin=1; //チャンネル下限 private const int channelMax=12; //チャンネル上限 private const int volumeMin=0; //音量下限 private const int volumeMax=40; //音量上限 //プロパティ public bool Power{get; private set;} //テレビのONOFF状態 public int Volume{get; private set;} //現在の音量 public int Channel //現在のチャンネル ↑自動実装のプロパティに変更 { get{return channel;} set { if(value>=channelMin&&value<=channelMax) channel=value; } } //メソッド //テレビの電源をON/OF public void OnOFF() { ↓フィールドのpowerを削除したので、プロパティを使ってサクセスするように修正。 if(Power==true) Power=false; //電源OFF else Power=true; } //チャンネルを+1する public void ChannelUp() { if(Channel<channelMax) Channel++; } //チャンネルを-1する public void ChannelUp() { if(Channel>channelMin) Channel--; } //音量を上げる public void VolumeUp() { if(Volume<volumeMax) Volume++; } ↑ フィールドのvolumeを削除したので、プロパティを使ってアクセスできるように修正 //音量を下げる ↓ public void VolumeDown() { if(Volume>volumeMin) Volume--; } } |
以上です。
では!