Javaでサブクラスで親クラスの属性を上書きする方法は?

サブクラスは、親クラスのプロパティに直接アクセスすることはできません。なぜなら、親クラスのプロパティは通常プライベートまたはプロテクトされています。しかし、サブクラスは継承とメソッドオーバーライドの仕組みを通じて、親クラスのプロパティを間接的に変更できます。手順は次のとおりです。

  1. 例えば、親クラスで変更する属性をprotectedで宣言するか、getter、setterメソッドを用意する。
public class Parent {
    protected int attribute;

    public int getAttribute() {
        return attribute;
    }

    public void setAttribute(int attribute) {
        this.attribute = attribute;
    }
}
  1. 親クラスのプロパティとメソッドを継承することで、子クラスで親クラスのプロパティを間接的に変更する。例えば:
public class Child extends Parent {
    public void modifyAttribute(int newValue) {
        setAttribute(newValue); // 通过调用父类的setter方法来修改父类的属性
    }
}

親クラスの属性を修正するには、サブクラスのmodifyAttributeメソッドをコールします。

親クラスのプロパティがprivateの場合、派生クラスからは直接アクセス、更新ができないことに注意しましょう。この場合、親クラスにpublicなgetter/setterメソッドを用意することで、親クラスのprivateプロパティへのアクセス、更新を間接的に実現できます。

bannerAds