Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Pengoverridan Metode Java: Menyesuaikan Perilaku Superkelas

Dalam bab sebelumnya, kita membahas tentang superkelas dan subclass. Jika sebuah kelas mewarisi metode dari superkelasnya, maka ada kesempatan untuk mengganti metode selama itu tidak ditandai sebagai final.

Manfaat mengganti adalah: kemampuan untuk mendefinisikan perilaku yang spesifik untuk tipe subclass, yang berarti subclass dapat mengimplementasikan metode kelas induk berdasarkan kebutuhannya.

Dalam istilah berorientasi objek, mengganti berarti mengganti fungsionalitas metode yang ada.

Contoh

Mari kita lihat contohnya.

Live Demo
 class Animal { public void move() { System.out.println("Hewan dapat bergerak"); } } class Dog extends Animal { public void move() { System.out.println("Anjing dapat berjalan dan berlari"); } } public class TestDog { public static void main(String args[]) { Animal a = new Animal(); // Animal reference and object Animal b = new Dog(); // Animal reference but Dog object a.move(); // runs the method in Animal class b.move(); // runs the method in Dog class } } 

Ini akan menghasilkan hasil berikut:

Keluaran

 Hewan dapat bergerak Anjing dapat berjalan dan berlari 

Dalam contoh di atas, Anda dapat melihat bahwa meskipun b adalah tipe Animal, ia menjalankan metode move di kelas Dog. Alasannya adalah: Pada waktu kompilasi, pemeriksaan dilakukan pada tipe referensi. Namun, pada waktu runtime, JVM mengetahui tipe objek dan akan menjalankan metode yang termasuk dalam objek tertentu.

Oleh karena itu, dalam contoh di atas, program akan dikompilasi dengan benar karena kelas Animal memiliki metode move. Kemudian, pada waktu runtime, ia menjalankan metode yang spesifik untuk objek tersebut.

Pertimbangkan contoh berikut:

Contoh

Live Demo
 class Animal { public void move() { System.out.println("Hewan dapat bergerak"); } } class Dog extends Animal { public void move() { System.out.println("Anjing dapat berjalan dan berlari"); } public void bark() { System.out.println("Anjing dapat mengeong"); } } public class TestDog { public static void main(String args[]) { Animal a = new Animal(); // Animal reference and object Animal b = new Dog(); // Animal reference but Dog object a.move(); // runs the method in Animal class b.move(); // runs the method in Dog class b.bark(); } } 

Ini akan menghasilkan hasil berikut:

Keluaran

 TestDog.java:26: error: cannot find symbol b.bark(); ^ symbol: method bark() location: variable b of type Animal 1 error 

Program ini akan melempar error waktu kompilasi karena tipe referensi b Animal tidak memiliki metode dengan nama bark.

Aturan Pengoverridan Metode

Menggunakan Kata Kunci super

Saat memanggil versi superkelas dari metode yang diganti, kata kunci super digunakan.

Contoh

Live Demo
 class Animal { public void move() { System.out.println("Hewan dapat bergerak"); } } class Dog extends Animal { public void move() { super.move(); // memanggil metode superkelas System.out.println("Anjing dapat berjalan dan berlari"); } } public class TestDog { public static void main(String args[]) { Animal b = new Dog(); // Animal reference but Dog object b.move(); // runs the method in Dog class } } 

Ini akan menghasilkan hasil berikut:

Keluaran

 Hewan dapat bergerak Anjing dapat berjalan dan berlari 

java

  1. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  2. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  3. Metode Java String length(): Cara Mendapatkan Ukuran String (Contoh)
  4. Menguasai Java String.indexOf(): Menemukan Substring & Contoh Praktis
  5. Memahami Java String.charAt(): Sintaks, Tipe Kembali, Pengecualian, dan Contoh Praktis
  6. Menguasai Metode Java String compareTo(): Sintaks, Kasus Penggunaan, dan Contoh Praktis
  7. Metode Java String.contains(): Cara Memeriksa Substring – Contoh Praktis
  8. Menguasai Java String.endsWith(): Cara Memeriksa Akhir String dengan Contoh
  9. Menguasai Penggantian String Java: replace(), replaceAll(), dan replaceFirst() Dijelaskan
  10. Java Static Dijelaskan: Variabel, Metode, dan Blok dengan Contoh Praktis