4

私は疑問に思っていました:大きな継承構造の一部であるクラスに属性を適合させるための最良の方法は何でしょうか。各クラスがオーバーライドする抽象的な静的メソッドを作成したかったのですが、簡単なグーグルの後は機能しないようです。助言がありますか?

インスタンスメソッドにすることもできますが、実際はクラスレベルの仕様です。

前もって感謝します。

4

1 に答える 1

3

あなたが考えたように、抽象メソッドを作成し、このメソッドを各クラスの静的変数の観点から実装することをお勧めします。

abstract class Base {
    abstract String getValue();
}

class A extends Base {

    static String aValue = "From A";

    String getValue() {
        return aValue;
    }
}

class B extends A {

    static String bValue = "From B";

    String getValue() {
        return bValue;
    }
}

フィールド宣言だけでなく、各クラスでもう少しボイラープレートが必要ですが、それについて何かをするのは難しいと思います。

于 2012-05-23T10:26:14.273 に答える