タスク-7

Linda Hamilton
リリース: 2025-01-25 22:04:12
オリジナル
410 人が閲覧しました

タスク-7

課題 7: 継承、super キーワード、およびメソッドのオーバーライド

この割り当ては、Java での継承、super キーワード、およびメソッドのオーバーライドを示します。 コードとその出力を詳しく見てみましょう。

おばあちゃんクラス:

このクラスは基本クラス (祖父母) を表します。 name フィールドと work() メソッドがあります。

<code class="language-java">package B15;

public class Grandma {

    String name = "Stella"; // Note: Capitalized for consistency
    int age = 80;

    public void work() {
        System.out.println("Grandma is working."); // More descriptive output
    }
}</code>
ログイン後にコピー

マザークラス:

このクラスは Grandma から継承します。 work() メソッドをオーバーライドし、独自の name フィールドを追加します。 super キーワードは、Grandmaname および work() メソッドにアクセスするために使用されます。

<code class="language-java">package B15;

public class Mother extends Grandma {
    String name = "Arasi"; // Note: Capitalized for consistency
    int age = 50;

    public void work() {
        System.out.println("Mother is working."); // More descriptive output
        System.out.println("Mother's name = " + name);
        System.out.println("Grandma's name = " + super.name);
        System.out.println("Grandma's age = " + super.age);
        super.work();
    }
}</code>
ログイン後にコピー

キッズクラス:

このクラスは Mother から継承します。 work() メソッドをオーバーライドし、study() メソッドを追加します。 main メソッドは Kid オブジェクトを作成し、そのメソッドを呼び出します。

<code class="language-java">package B15;

public class Kid extends Mother {

    String name = "Suman"; // Note: Capitalized for consistency
    int age = 30;

    public static void main(String[] args) {
        Kid kid = new Kid();
        kid.work();
        kid.study();
    }

    public void work() {
        System.out.println("Kid is working."); // More descriptive output
        System.out.println("Kid's name = " + name);
        System.out.println("Mother's name = " + super.name);
    }

    public void study() {
        super.work();
        System.out.println("Mother's age = " + super.age);
        System.out.println("Kid's name = " + name);
        System.out.println("Kid's age = " + age);
        System.out.println("Kid is studying."); // More descriptive output
    }
}</code>
ログイン後にコピー

出力の説明:

出力には、継承階層を下位にカスケードするメソッド呼び出しが示されています。 kid.work() が呼び出されると、Kidwork() メソッドが最初に実行され、「Kid is working.」が出力されます。次に、kid.study()super.work() を呼び出して Motherwork() メソッドを実行します。次に、super.work() が再度 Grandma を呼び出して work()super メソッドを実行します。 name キーワードにより、親クラスから正しいメソッドが確実に呼び出されます。出力には、継承階層の各レベルの age 変数と

変数の値が反映されます。

修正および改善された出力:

コードが改善されたことで、より説明的な出力が提供され、実行フローが理解しやすくなりました。 出力は次のようになります:
<code>Kid is working.
Kid's name = Suman
Mother's name = Arasi
Mother is working.
Mother's name = Arasi
Grandma's name = Stella
Grandma's age = 80
Grandma is working.
Mother's age = 50
Kid's name = Suman
Kid's age = 30
Kid is studying.</code>
ログイン後にコピー

以上がタスク-7の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート