Java では、アクセスを保護し、改ざんを防ぐために、クラスのインスタンス変数がプライベートとして宣言されることがよくあります。
継承によってプライベート アクセス制限は無効になりません。
サブクラスがスーパークラスのすべてのメンバーを継承しても、プライベートとして宣言されたメンバーにはアクセスできません。
たとえば、TwoDShape で幅と高さがプライベートとして宣言されている場合、Triangle サブクラスはそれらにアクセスできません。
Triangle クラスは、TwoDShape ではプライベートである幅と高さにアクセスしようとするため、コンパイルされません。アクセス違反が発生します。
プライベート変数には、それが宣言されたクラスのメンバーのみがアクセスできます。サブクラスはこれらの変数にアクセスできません。
これは制限のように見えるかもしれませんが、アクセサー メソッドを使用して問題を回避することができます。
アクセサー メソッドを使用すると、プライベート変数への制御されたアクセスを提供できます。
次に、幅と高さのアクセサー メソッドを使用するように TwoDShape と Triangle を変更する方法の例を示します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3