Protected にするメソッド
メソッドを保護する への移動
コンポーネントの実装用メソッドは、アプリケーションで誤って呼び出されないように、すべて protected にします。アプリケーション コードでは直接呼び出さず派生クラスで呼び出すメソッドがあれば、それらを protected として宣言します。
たとえば、特定のデータがあらかじめセットアップされていることを前提とするメソッドがあるとします。そのメソッドを public にした場合は、アプリケーションで、データがセットアップされる前にそのメソッドが呼び出される可能性があります。これに対して、メソッドを protected にした場合、アプリケーションでは、そのメソッドを直接呼び出せません。したがって、必ずデータをセットアップしてから protected メソッドを呼び出す public メソッドを別途用意することができます。
プロパティ実装用のメソッドは、仮想 protected メソッドとして宣言します。メソッドをそのように宣言すれば、アプリケーション開発者はプロパティの実装をオーバーライドして、その機能を拡張したり全面的に置き換えることができます。そのようなプロパティには、完全な多態性があります。アクセス メソッドを protected にしておけば、開発者が誤ってそれらのメソッドを呼び出してプロパティをうっかり変更してしまうことは絶対にありません。