5 公開か非公開か
課題1の解答例で示した、クラス定義内で入れ子状にクラス定義をおこなう手法は、多人数での開発で効果を発揮します。同じように効果を発揮するのがprivateキーワードの利用です。
例えば、解答例のPallet.Indicatorクラスは、このままだと誰でも利用可能です。いったん誰かに使われてしまうと、将来、デザインを変えようとしても、利用者一人一人に変更の確認が必要になってしまいます。そういう事態を避けたい場合には、privateキーワードを指定します。
そうすることでPallet.Indicatorクラスはソースコードファイル外に非公開となり、Palletクラス内でしか利用できなくなります。外部で使われる心配はなくなり、完全に自分の制御下に置くことができるわけです。
この場合、プロパティとして用意しているindicatorにもprivateキーワードを付けて外部から利用できないようにする必要があります。indicatorが公開されたままだと、その型であるPallet.Indicatorクラスも公開することになり矛盾が生じるからです。
逆に外部でもPallet.Indicatorクラスをどんどん利用してもらい、将来の対応の苦労も気にしないなら、そのまま公開するといいでしょう。汎用性があり、安定動作するクラスの提供はチ
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録