Rumah > Java > javaTutorial > Tugas-7

Tugas-7

Linda Hamilton
Lepaskan: 2025-01-25 22:04:12
asal
410 orang telah melayarinya

Tugas-7

Tugasan 7: Warisan, super Kata Kunci dan Penggantian Kaedah

Tugasan ini menunjukkan warisan, kata kunci super dan kaedah mengatasi dalam Java. Mari kita pecahkan kod dan outputnya.

Kelas Nenek:

Kelas ini mewakili kelas asas (datuk nenek). Ia mempunyai medan name dan kaedah 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>
Salin selepas log masuk

Kelas Ibu:

Kelas ini mewarisi daripada Grandma. Ia mengatasi kaedah work() dan menambah medan namenya sendiri. Kata kunci super digunakan untuk mengakses kaedah Grandma dan name 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>
Salin selepas log masuk

Kelas Kanak-kanak:

Kelas ini mewarisi daripada Mother. Ia mengatasi kaedah work() dan menambah kaedah study(). Kaedah main mencipta objek Kid dan memanggil kaedahnya.

<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>
Salin selepas log masuk

Penjelasan Output:

Output menunjukkan kaedah panggilan melantun ke bawah hierarki warisan. Apabila kid.work() dipanggil, kaedah Kid work() dilaksanakan terlebih dahulu, mencetak "Kid is working." Kemudian, kid.study() memanggil super.work(), melaksanakan kaedah Mother work(), yang seterusnya memanggil super.work() sekali lagi, melaksanakan kaedah Grandma work(). Kata kunci super memastikan kaedah yang betul daripada kelas induk digunakan. Output mencerminkan nilai pembolehubah name dan age pada setiap peringkat hierarki warisan.

Output yang Dibetulkan dan Diperbaiki:

Kod yang dipertingkatkan menyediakan lebih banyak output deskriptif, menjadikannya lebih mudah untuk memahami aliran pelaksanaan. Outputnya sekarang ialah:

<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>
Salin selepas log masuk

Atas ialah kandungan terperinci Tugas-7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan