これはかなり奇妙な質問です。誰かが私に最近尋ねたことは、これを達成するとは思えませんでした。継承中に特定の機能をキャンセルするにはどうすればよいですか?
Person
は、いくつかのパブリック関数を持ち、帰属されるクラスとしましょう。属性の1つが目の色であり、2つの機能:getColor()
とsetColor()
があるとします。
Teacher
をPerson
に拡張すると、そのプロパティが継承されます。
質問:getColor()
とsetColor()
以外の機能は継承したくない場合はどうすればよいですか?
私の初期の考えは、すべて@Override
であり、何もしないで空を返すことでした。しかし、私はこれが安全な方法ではないと思います。もっと洗練された解決方法がありますか?
左フィールドですが有効な代替案:OOPモデルを削除し、代わりにエンティティモデルを使用します。 O :-) – BRFennPocock
「有望」はここではいいキーワードです。私はそれを約束していることを知っている、私はこれを達成するための絶対に方法がないかどうかをチェックしていた。 –
この場合、具体的には、 'COLOUR_UNKNOWN'の値を定義し、それをデフォルトにして、それを使って実行するかもしれません。 (ある時点で、未成年のビデオゲームプレイヤーを扱う米国のCOPPAの法律のために、私はそのようなことをいくつか行いました) – BRFennPocock