Section Artikel
- 1 PHP – Apa itu Inheritance?
- 2 PHP – Inheritance dan Protected Access Modifier
- 3 PHP – Mengganti Metode Inheritance
- 4 PHP – Kata Kunci final
PHP – Apa itu Inheritance?
Pewarisan atau Inheritance dalam OOP = Ketika kelas diturunkan dari kelas lain.
Kelas anak akan mewarisi semua properti dan metode publik dan dilindungi dari kelas induk. Selain itu, ia dapat memiliki properti dan metodenya sendiri.
Kelas yang diwariskan ditentukan dengan menggunakan kata kunci extends
.
Mari kita lihat contohnya:
Contoh :
// Output : Apakah saya buah atau beri? Buahnya Strawberry dan warnanya merah.
Penjelasan Kode :
- Kelas Strawberry diwarisi dari kelas Buah.
- Ini berarti bahwa kelas Strawberry dapat menggunakan properti
$name
dan$color
serta metode public__construct[]
danintro[]
dari kelas Fruit karena inheritance atau pewarisan. - Kelas Strawberry juga memiliki metodenya sendiri, yaitu :
message[]
.
PHP – Inheritance dan Protected Access Modifier
Sebelumnya kita telah mempelajari bahwa properti atau metode protected
dapat diakses di dalam kelas dan oleh kelas yang diturunkan dari kelas itu. Apa artinya?
Mari kita lihat contohnya:
Contoh :
//Output : Apakah saya buah atau beri?
Dalam contoh di atas kita melihat bahwa jika kita mencoba memanggil metode protected
[intro []] dari luar kelas,
kita akan menerima kesalahan. metode public
akan bekerja dengan baik!
Mari kita lihat contoh lain:
Contoh :
//Output : Apakah saya buah atau beri? Buahnya Strawberry dan warnanya merah.
Pada contoh di atas kita melihat bahwa semuanya berfungsi dengan baik! Itu karena kita memanggil metode protected
[intro []] dari dalam kelas turunan.
PHP – Mengganti Metode Inheritance
Metode yang diwariskan dapat diganti dengan mendefinisikan ulang metode [gunakan nama yang sama] di kelas anak.
Lihat contoh di bawah ini. Metode __construct[]
dan intro[]
di kelas anak [Strawberry] akan menimpa metode __construct[]
dan intro[]
di kelas induk [Buah]:
Contoh :
//Output : Buahnya Strawberry, warnanya merah, berat 50 gram.
PHP – Kata Kunci final
Kata kunci final
dapat digunakan untuk mencegah pewarisan kelas atau untuk mencegah penimpaan metode.
Contoh berikut menunjukkan cara mencegah pewarisan kelas:
Contoh :
?php final class Fruit { // some code } // will result in error class Strawberry extends Fruit { // some code } ?> // output : PHP Fatal error: Class Strawberry may not inherit from final class [Fruit] in /home/o6MTL0/prog.php on line 10
Contoh berikut menunjukkan cara mencegah penimpaan metode:
Contoh :
//Output : PHP Fatal error: Cannot override final method Fruit::intro[] in /home/sdpysj/prog.php on line 14