Overriding Metode adalah konsep dalam pemrograman berorientasi objek di mana metode di kelas turunan memiliki implementasi yang berbeda dari metode dengan nama yang sama di kelas induknya. Hal ini memungkinkan kelas turunan untuk memodifikasi atau mengganti fungsionalitas dari metode yang diwarisi.
Tujuan Overriding
Tujuan utama dari overriding adalah untuk memungkinkan kelas turunan memiliki perilaku yang spesifik yang berbeda dari kelas induk, meskipun menggunakan nama metode yang sama.
Contoh Overriding Metode
Misalkan kita memiliki kelas Kendaraan dengan metode berbunyi yang menggambarkan bunyi dari kendaraan secara umum. Lalu, kita memiliki kelas Mobil yang merupakan turunan dari Kendaraan. Kita ingin Mobil memiliki implementasi khusus untuk metode berbunyi yang menggambarkan bunyi klakson mobil.
<?phpclassKendaraan{publicfunctionberbunyi(){echo"Kendaraan ini berbunyi: Vroom!";}}classMobilextendsKendaraan{ // method ini suda ada di kelas induknya // ini disebut overiddingpublicfunctionberbunyi(){echo"Mobil ini berbunyi: Telolet!";}}classBajayextendsKendaraan{}// Menciptakan objek Mobil$mobil=newMobil();$mobil->berbunyi();// Output: Mobil ini berbunyi: Telolet!$bajay=newBajay();$bajay->berbunyi();// Output: Mobil ini berbunyi: Vroom!?>
Penjelasan
Kelas Kendaraan: Memiliki metode berbunyi yang mencetak "Kendaraan ini berbunyi: Vroom!".
Kelas Mobil: Mewarisi Kendaraan dan meng-override metode berbunyi untuk mencetak "Mobil ini berbunyi: Telolet!" yang lebih spesifik untuk mobil.
Di sini, metode berbunyi di kelas Mobil menggantikan implementasi yang ada di kelas Kendaraan. Ketika objek dari Mobil memanggil metode berbunyi, PHP menjalankan metode berbunyi yang didefinisikan di kelas Mobil, bukan yang di kelas Kendaraan. Ini adalah inti dari konsep overriding dalam pemrograman berorientasi objek.