フィールドX
,Y
およびZ
を持つ基本クラスC
を持っています。Javaサブクラス検証デザインパターン
C1
C
があり、追加フィールドがT
です。 C1
コンストラクタで
、私はフィールドX
、Y
とZ
のためのいくつかのハードコードされた値とスーパー(C
)コンストラクタを呼び出すください。次に、私はT
を設定します。
コンストラクタで何かを行うことによって、C1
のすべてのフィールドを自動的に検証するパターンはありますか?だから、私は基本クラスに自動検証をプッシュしようとしています。
スーパーコンストラクタの呼び出しは、C1
コンストラクタ内のステートメントの前に行う必要があることに注意してください。私はいくつかの抽象的なvalidate()
メソッドから始めましたが、私は正しい軌道にいません。
ありがとうございました。原則として
したがって、AのメソッドをBで実装されたメソッドから自動的に呼び出す方法はありません.Bのコンストラクタの最後に...右ですか? – user1158641
いいえ、Aはサブクラス化されていることを決して知りません。そのコードはBに属していません。あなたは教授に透視感を与え、未来を予測することを望んでいます:「今から6ヶ月後、フレディは私をサブクラス化するでしょう。私のもの。"クレイジー。 – duffymo
AはBを知らないので不可能です。 –