「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > スーパークラス参照とサブクラスオブジェクト

スーパークラス参照とサブクラスオブジェクト

2024 年 11 月 8 日に公開
ブラウズ:200
  • Java は厳密に型指定された言語です。

  • 標準変換と自動プロモーションはプリミティブ型に適用されます。

  • タイプの互換性は厳密に適用されます。

  • 通常、あるクラスの参照変数は別のクラスのオブジェクトを参照できません。

Referências da superclasse e objetos da subclasse

  • クラス X とクラス Y は構造的に同じであっても、型が異なるため、X の参照を Y のオブジェクトに代入することはできません。

  • 一般に、オブジェクト参照変数はその型のオブジェクトのみを参照できます。

  • 型の強制の例外は、スーパークラスの参照変数がそのスーパークラスから派生したサブクラスのオブジェクトを参照できることです。

Referências da superclasse e objetos da subclasse

  • Y は X から派生しているため、x2 は Y のオブジェクトへの参照を受け取ることができます。

  • アクセスできるメンバーは、参照変数の型ではなく、参照変数の型によって決まります。

  • サブクラス オブジェクトへの参照がスーパークラス変数に割り当てられている場合、スーパークラスで定義されたメンバーにのみアクセスできます。

  • この例では、クラス X はサブクラスによって追加されたメンバーを認識していないため、x2 は Y のメンバー b にアクセスできません。

  • スーパークラス変数に割り当てられたサブクラス参照は、特にクラス階層でコンストラクターを呼び出す場合に一般的です。

  • サブクラスは、スーパークラスからオブジェクトをパラメータとして受け取るコンストラクターの恩恵を受けることができ、オブジェクトのコピーを作成できます。

Referências da superclasse e objetos da subclasse

Referências da superclasse e objetos da subclasse

Referências da superclasse e objetos da subclasse

  • このプログラムでは、t2 は t1 から構築されるため、同一です。

  • この三角形ビルダーの注意点:
    // あるオブジェクトを別のオブジェクトから構築します。
    Triangle(Triangle ob) {
    スーパー(ob); // オブジェクトを TwoDShape
    のコンストラクターに渡します スタイル = ob.style;
    }

  • Triangle 型のオブジェクトを受け取り、それを (スーパー経由で) この TwoDShape コンストラクターに渡します:
    // あるオブジェクトを別のオブジェクトから構築します。
    TwoDShape(TwoDShape ob) {
    幅 = ob.width;
    高さ = ob.height;
    }

  • TwoDShape() コンストラクターは、TwoDShape.

  • 型のオブジェクトを受け取ることを想定しています。
  • Triangle() サブクラスのコンストラクターは、Triangle.

  • 型のオブジェクトを渡します。
  • これが機能するのは、TwoDShape などのスーパークラスからの参照は、Triangle.

  • などのサブクラスからのオブジェクトを参照できるためです。
  • 派生クラスのオブジェクトからスーパークラスのコンストラクターに参照を渡すことができます。

  • スーパークラス コンストラクター TwoDShape() は、Triangle サブクラスの追加メンバーに関係なく、TwoDShape クラスに属するメンバーのみを初期化します。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/devsjavagirls/referencias-da-superclasse-e-objetos-da-subclasse-2d45?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3