Tugas-7

Linda Hamilton
Linda Hamiltonasal
2025-01-25 22:04:12416semak imbas

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>

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>

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>

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>

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

Kenyataan:
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 sebelumnya:Tugas-5Artikel seterusnya:Tugas-5