Artikel ini menjelaskan penggunaan polimorfisme di Java beserta contohnya. Bagikan dengan semua orang untuk referensi Anda. Analisis spesifiknya adalah sebagai berikut:
Polimorfisme adalah fitur inti dari bahasa pemrograman berorientasi objek. Enkapsulasi dan pewarisan relatif sederhana, jadi saya hanya akan membuat catatan kecil tentang polimorfisme di sini. . .
1. Apa itu polimorfisme?
Polimorfisme berarti bahwa suatu objek dapat memiliki banyak karakteristik dan dapat menunjukkan keadaan berbeda dalam keadaan tertentu untuk merespons properti dan metode berbeda. Di Java, implementasi polimorfik mengacu pada penggunaan antarmuka implementasi yang sama untuk mengimplementasikan instance objek yang berbeda.
Misalnya, kita mendefinisikan kelas Induk, lalu mendefinisikan metode getName() untuk mengembalikan string, mendefinisikan metode anggota doSomething(Parent obj) yang parameter formalnya adalah tipe Induk, dan memanggil obj.getName() dalam metode ini. Kemudian tentukan dua kelas A dan B, keduanya mewarisi dari kelas Induk, dan ganti metode getName() di subkelas. Terakhir, buat objek objP dari kelas Induk dalam metode utama, panggil metode objP.doSomething() dan teruskan referensi kelas A dan kelas B. Amati hasilnya.
kelas Induk { nama String pribadi = "induk"; public String getName() { kembalikan nama ini; } public void doSomething(Parent obj) {//Keluaran nama kelas System.out.println(obj.getName() } public static void main(String[] args) { Induk objP = new Induk(); objP.doSomething(new A()); Saat meneruskan referensi ke A, metode getName kelas A disebut objP.doSomething(new B()); // Saat referensi ke B diteruskan, metode getName kelas B disebut} } class A extends Parent { private String name = "class A"; //@Tulis ulang metode getName() public String getName() { return this.name } } class B extends Parent { private String name = "class B"; () Metode String publik getName() { kembalikan nama ini; } }
Terlihat bahwa metode doSomething dari kelas induk secara polimorfik memanggil metode getName dari objek yang kita lewati, bukan metode getName dari kelas Induk itu sendiri.
2. Antarmuka di Jawa
Antarmuka di Java adalah deklarasi serangkaian metode. Sebuah antarmuka hanya memiliki karakteristik metode, tetapi tidak memiliki implementasi metode. Metode ini dapat diimplementasikan dari tempat lain melalui kelas tertentu. Di Java, kata kunci antarmuka digunakan untuk mendeklarasikan antarmuka.
Contoh polimorfisme menggunakan antarmuka:
interface Name { //Hanya deklarasikan, bukan implementasi public String getName(); } class A mengimplementasikan Name { private String name = "class A"; mengimplementasikan Nama { private String name = "class B"; //Implementasikan metode getName public String getName() { return name; } public static void main(String[] args) { Name obj = new A(); Sistem.keluar.println(obj.getName());
Seperti yang Anda lihat, nama kelas A, kelas A, dicetak.
PS: Jika suatu kelas tidak mengimplementasikan semua metode pada antarmuka, maka kelas tersebut harus dideklarasikan abstrak. Kelas abstrak tidak mengizinkan pembuatan instance objek.
Saya harap artikel ini bermanfaat untuk pemrograman Java semua orang.