-2

理論的な質問: スーパークラス A から特定のインスタンス変数/メソッドを除いて、A のすべてのインスタンス変数/メソッドを継承するスーパークラス A からサブクラス B を作成することは可能ですか?

4

4 に答える 4

6

この状況は、A に含まれる内容が多すぎて適切な基本クラスにならないことを示唆しています。

A の実装のうち、継承すると一般的に有用であると予想される部分を含むクラス C を作成します。A と B の両方を C に拡張し、要件に合わせて特殊化します。C は抽象化できます。

于 2013-07-23T02:47:21.623 に答える
4

B が A から継承する場合、B は A からすべてを継承します (ただし、A によって提供されるメソッドの実装をオーバーライドすることはできます)。

ただし、継承ではなく合成を使用して、A を B 内にラップできます。B では、公開したい特定のインスタンス メソッドのみを公開します。

于 2013-07-23T02:57:18.697 に答える
-1

明確にするために、B は A のインスタンス変数を含めずに、A のメソッドを継承します。

B が A の 1 つの特定のメソッドまたは変数を継承しないことを望む場合は、最後のキーワードを宣言できます。

于 2013-07-23T02:43:37.797 に答える