アクセサー③
ども!こんばんは!
クローバーフィールドの伊関です。
昨日は凄まじい雨と風でございましたが、皆様はご無事でございましたでしょうか?
梅雨とは言え、ここまでの雨風となれば最早台風でありますな。
ちなみに伊関は一切外に出る予定もなかったので、なんの関わり合いもありませんでした。
引きこもり万歳でございます。
さて引きこもりだからこそ勉強もはかどります。(といってもそこまでできてませんけど)
今回も前回同様、カプセル化のアクセサーの続きです。
フィールドのchannelとvolumeには上下限値が決まっているので、setアクセサーでチェックして、その範囲内のvolumeのみフィールドに代入するようにしています。では、プロパティを呼び出す方も修正しましょう。Program.csを下記のように修正してください。
プロパティを呼び出す部分の修正(ClassSample:Program.cs)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | static void Main(string[]args { Television tv=new Television(); Console.WriteLine("10チャンネルを設定します。"); tvchannel=10; Console.WriteLine("TVは{0}チャンネルです。",tv.Channel); ConsoleWriteLine("チャンネルを+2します。"); tv.ChannelUP(); tv.ChannelUP(); Console.WriteLine("TVは{0}チャンネルです。",tv.Channel); ConsoleWriteLine("チャンネルを-1します。"); tv.ChannelDOWN(); Console.WriteLine("TVは{0}チャンネルです。",tv.Channel); Console.WriteLine("終了するには何かのキーを押してください。"); Console.Read(); } |
これで、エラーが消え、実行できるようになりました。プロパティは、オブジェクトを使用する側からはフィールドのように見えますが、クラスを実装する側ではメソッドのように振る舞います。
以上です。
六月も今日で終わりで、それと同時に今年もここから後半戦です。
皆様悔いのないように日々を過ごしておりますでしょうか。
あと半年たっても年が明けるだけではありますが、ただ過ぎる人生を生きるよりも、少しずつでも成長していきたいと思う今日この頃でございます。
では。