Berpikir dalam Polimorfisme di Java3
Orang-orang sering bingung oleh fitur Java yang tidak berorientasi pada objek, seperti kelebihan metode, yang kadang-kadang disajikan sebagai objek yang berorientasi pada objek. Jangan tertipu: jika tidak terlambat mengikat, itu bukan polimorfisme
Terjemahan dengan teks
Orang-orang selalu bingung dengan fitur Java yang tidak berorientasi non-objek lainnya, seperti kelebihan metode. Terkadang itu ada sebagai berorientasi objek. Tolong jangan bodoh. Jika tidak ada ikatan yang terlambat (yaitu, pengikatan dinamis selama runtime), itu bukan polimorfik.
Oleh karena itu, apa yang ingin diungkapkan oleh bagian ini adalah bahwa polimorfisme harus memiliki ikatan dinamis, jika tidak, itu bukan polimorfisme, dan kelebihan metode bukanlah polimorfisme (karena kelebihan metode ditentukan selama periode kompilasi, dan tidak ada pengikatan dinamis pada periode selanjutnya, yaitu, periode runtime)
Ketika ketiga kondisi ini dipenuhi 1. Ada warisan 2. Ada 3.
<span style = "font-size: 14px;"> Contoh: alamat kelas publik {name string privat; alamat publik (nama string) {this.name = name;} public string getName () {nama pengembalian;} public void setName (class class) {this.name = name;}}} Tentukan kelas pangkalan (abstrak kelas) {this.name = name; memperluas kendaraan {@overridepublic void go (alamat alamat) {System.out.println ("car to" + address.getName ());}} Pesawat mengimplementasikan kelas dasar: Pesawat kelas publik memperluas kendaraan {@overridevoid go (alamat alamat) {System.out.println ("pesawat" v) {/// Polimorfisme, referensi kelas induk menunjuk ke objek subkelas, dan transmisi aktual adalah subclass dari kendaraan kelas abstrak, atau kelas implementasi, dan kompiler akan menemukan metode implementasi berdasarkan kelas implementasi spesifik. v.go (alamat baru ("Hangzhou (Abstrak)")); /// metode ini ditulis ulang dalam tes implementasi} spesifik: public static void main (string [] args) {driver d = driver baru (); d.drive (pesawat baru ()); // Ini sebenarnya adalah objek pesawat, maka kompiler akan menemukan implementasi Go in Plane, D.Drive (mobil baru ()); // Ini sebenarnya adalah objek mobil, maka kompiler akan menemukan implementasi go in plane} hasil output: pesawat ke hangzhou (abstrak) mobil ke hangzhou (abstrak) </span>Polimorfisme: mengacu pada keadaan yang berbeda dari hal yang sama, seperti: air. Air dapat memiliki tiga negara bagian:
Gas, cairan, dan padatan. Kemudian polimorfisme di Jawa juga dapat dipahami sebagai makna ini:
Teknik untuk mengatur objek induk sama dengan satu atau lebih objek anaknya,
Misalnya orangtua = anak;
Polimorfisme memungkinkan referensi objek dari kelas yang berbeda menggunakan kelas yang sama (kelas induk),
Dan melakukan operasi yang sama dengan cara yang berbeda tergantung pada objek yang direferensikan.
Implementasi polimorfik mencakup dua cara: kelebihan beban dan timpa
Misalnya: hewan A = Tiger baru (); Ini adalah topik lama, haha ...
Referensi kelas induk menunjuk ke objek kelas anak. Kelas hewan berisi metode makan (), dan kelas harimau mewarisi dari
Kelas hewan, jika subclass menulis ulang metode EAT () dari kelas induk, lalu ketika dipanggil, Anda dapat mengikuti kelas anak.
Panggilan formal, pada dasarnya adalah metode kelas induk, tetapi setelah subkelas ditulis ulang, menjadi cara lain, yaitu polimorfisme.
Di atas adalah diskusi singkat tentang aspek apa dari implementasi polimorfisme Java terutama mencerminkan. Saya harap ini akan membantu semua orang dan lebih mendukung wulin.com ~