Rumah >Java >javaTutorial >Warisan dan Polimorfisme dalam Java: Menggunakan Superclass dan Subclass

Warisan dan Polimorfisme dalam Java: Menggunakan Superclass dan Subclass

Linda Hamilton
Linda Hamiltonasal
2025-01-06 10:31:46957semak imbas

Artikel ini menerangkan cara warisan Java mempunyai hubungan "is-a" antara superclass dan subclass, membenarkan subclass untuk mewarisi dan menyesuaikan fungsi superclass. Dengan menggunakan polimorfisme, subkelas boleh menentukan gelagat unik, membenarkan penggunaan semula kod dan fleksibiliti dalam pengaturcaraan berorientasikan objek.


Di Java, hubungan antara kelas super (kelas induk) dan subkelas (kelas anak atau kelas terbitan) dalam warisan ialah hubungan is-a menyiratkan bahawa subkelas ialah versi khusus superclass yang mewarisi fungsi (sekatan boleh digunakan) daripada kelas yang diperoleh daripadanya (CSU Global, n.d). Dalam erti kata lain, jika kelas B mewarisi daripada kelas A, maka kelas B "adalah" jenis kelas A. Hubungan ini membolehkan kelas B menggunakan semua fungsi (sekatan boleh digunakan) yang disediakan oleh kelas A, sambil juga menambah kelasnya sendiri. kefungsian khusus atau/dan dengan mengatasi beberapa atau semua kefungsian kelas A. Keupayaan kelas anak untuk mengatasi kefungsian ialah satu bentuk polimorfisme.

“Takrif kamus polimorfisme merujuk kepada prinsip dalam biologi di mana organisma atau spesies boleh mempunyai banyak bentuk atau peringkat yang berbeza. Prinsip ini juga boleh digunakan untuk pengaturcaraan dan bahasa berorientasikan objek seperti bahasa Java. Subkelas kelas boleh mentakrifkan gelagat unik mereka sendiri tetapi berkongsi beberapa fungsi yang sama bagi kelas induk” (The Java™ Tutorials, n.d.) Ini amat berfaedah apabila berurusan dengan berbilang objek daripada subkelas berbeza yang berkongsi jenis superclass biasa.

Contohnya: anjing, kucing dan burung hantu ialah haiwan:

Superclass

public class Animal {
    public void makeSound() {
        System.out.println("Makes a Sound");
    }
}

Subkelas Haiwan

public class Domesticated extends Animal {
    public void friendly() {
        System.out.println("This animal is friendly.");
    }
}

Subkelas Domestik

public class Undomesticated extends Animal {
    public void notFriendly() {
        System.out.println("This animal is not friendly.");
    }
}

Subkelas Domestik

public class Cat extends Domesticated {
    @Override
    public void makeSound() {
        System.out.println("Meow");
    }
}

Subkelas Tidak Didomestikkan

public class Owl extends Undomesticated {
    @Override
    public void makeSound() {
        System.out.println("Hoots");
    }
}

Kelas utama untuk mengeluarkan hasil

public class inheritanceExample {
    public static void main(String[] args) {
        Dog myDog = new Dog();
        Cat myCat = new Cat();
        Owl redOwl = new Owl();

        System.out.println("MY Dog:");
        myDog.makeSound(); // Outputs: Bark
        myDog.friendly();  // Outputs: This animal is friendly.
        System.out.println();

        System.out.println("My Cat:");
        myCat.makeSound(); // Outputs: Meow
        myCat.friendly();  // Outputs: This animal is friendly.
        System.out.println();

        System.out.println("Red Owl:");
        redOwl.makeSound(); // Outputs: Hoot
        redOwl.notFriendly(); // Outputs: This animal is not friendly.
     }
}

Nota: Kaedah makeSound() dalam kelas Anjing dan Kucing mengatasi kaedah makeSound() dalam kelas Haiwan.

Selain itu, kelas Anjing ialah subkelas kelas Domestik yang merupakan subkelas kelas Haiwan.

Anak kepada ‘→’
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

Di Java, subkelas hanya boleh mempunyai satu superclass, contohnya, kelas Dog tidak boleh mempunyai superclass Domesticated dan superclass Animal, yang berikut tidak dibenarkan.
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

Dalam erti kata lain, subkelas hanya boleh mempunyai satu superclass, … dan mereka tidak dibenarkan mempunyai berbilang ibu bapa, datuk dan nenek atau datuk nenek.
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

Kesimpulannya, pewarisan Java membenarkan subkelas untuk menggunakan dan memanjangkan kefungsian superclass, menjelmakan perhubungan "is-a" dan memudahkan polimorfisme. Ini meningkatkan kebolehgunaan semula kod, fleksibiliti dan ketekalan dengan mendayakan gelagat tertentu dalam subkelas sambil mengekalkan ciri dikongsi merentas superclass biasa.


Rujukan:

CUS Global (n.d.). Modul 1: Bekerja dengan warisan [kuliah Interaktif]. Di Colorado State University Global, CSC372: Pengaturcaraan II, Jabatan Sains Komputer. Kanvas. Diperoleh pada 8 Jun 2024, daripada https://csuglobal.instructure.com/courses/94948/pages/module-1-overview?module_item_id=4868813

Tutorial Java™ (n.d.). Mempelajari bahasa Java: Antara muka dan warisan. Oracle. Diperoleh pada 8 Jun 2024, daripadahttps://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html


Diterbitkan pada asalnya di Alex.omegapy di Medium yang diterbitkan oleh Level UP Coding pada 1 November 2024.

Atas ialah kandungan terperinci Warisan dan Polimorfisme dalam Java: Menggunakan Superclass dan Subclass. 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