大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

カプセル化

著者:伊関星児
公開日:2019/06/27
最終更新日:2019/06/27
カテゴリー:技術情報
タグ:

ども!こんばんは!

 

クローバーフィールドの伊関です。

 

今日は湿気が凄まじいなと思っていたら、

台風さんが接近してるじゃありませんか。

去年は大阪も直撃し、通勤電車を止められた挙句、三駅も歩かされた伊関です。

 

今年はほぼ地下鉄なので大丈夫かなと思うのですが、

南海止まらないことを祈るばかりです。

 

・カプセル化

データの破壊や漏洩を防ぐというのは、オブジェクト指向の重要な概念の一つです。そのためには、オブジェクトの中にデータを隠蔽し、最低限のアクセス手段のみを公開する”カプセル化”を実装する必要があります。

・プロパティ

実はここまで説明してきたTelevisionクラスでは、カプセル化を考慮していませんでした。フィールドと定数をpublicで公開していたため、外からも丸見えです。このままpublicにしておくと、上下値を無視してchannelとvolumeに値を代入することが可能になってしまいます。フィールドや定数はprivateにして、クラス外部からは容易にアクセスできないようにカプセル化するべきです。

 

次のようにTelevisionのフィールドをprivateに修正してください。

 

フィールドと定数をprivateに修正(ClassSample:Television.cs)

修正すると、Mainメソッドの「tv.channel」を記述している部分でエラーが発生していますね。これはchannelがpublicからprivateに変更されてためにアクセスができなくなってしまったからです。このように隠蔽されたデータにアクセスするような場合には「プロパティ」を使います。

 

以上です。

関西は深夜に来るようですから、ふらっと出歩かないようにしてくださいね。

 

それでは皆様。

おやすみなさい。

    次の記事 :
    上に戻る