Kelas Turunan (Inheritance) Pada PHP
1. Pendahuluan
Kelas turunan disebut juga sebagai sub class atau child class. Dimana kelas turunan akan mewariskan sifat dari kelas induknya atau parent class / super class. Untuk selanjutnya kita akan sebut kelas turunan sebagai kelas anak dan kelas induknya sebagai kelas induk. Kelas Induk biasanya mendefinisikan kode program yang bersifat umum. Sedangkan kelas anak mengarah kepada kode program yang lebih khusus. Namun kelas anak mempunyai sifat yang dimiliki kelas induk. Seperti dapat menggunakan properti maupun method kelas induk.1. Kelas Induk
Kode program diatas adalah contoh kelas. Kelas diatas bernama Pohon yang memiliki fungsi yang umum seperti memberi nama pohon. Ketika ada kelas lain yang menggunakan kelas ini sebagai kelas induk. Maka kelas tersebut mewarisi sifat atau kemampuan dari kelas ini.
3. Kelas Anak
Untuk membuat kelas turunan, kata kuncinya adalah extends. Kelas Jambu_air adalah kelas turunan dari kelas pohon. Sehingga kelas jambu air dapat mengakses properti maupun method pada kelas Pohon. Perhatikan juga pada objek $jambu_air. Objek tersebut dapat memberi nama pohon yang semestinya method tersebut milik kelas pohon.
4. Selanjutnya
Selanjutnya kita akan mempelajari tentang enkapsulasi. Enkapsulasi yaitu cara memberikan hak akses yang benar terhadap properti dan method. Pada contoh kelas turunan ini, hakses publik diberikan kepada turunannya. Sehingga kelas turunan bebas mengakses properti dan method kelas induk. Mungkin saja ketika kelas tersebut besar akan timbul masalah. Dengan enkapsulasi yang benar pencegahan dapat kita lakukan.
Adakalanya fungsi-fungsi dikelas induk adalah fungsi yang tidak boleh diakses langsung. Banyak hal yang menyebabkan fungsi ini tidak boleh diakses langsung oleh turunannya. Misalkan karena fungsi tersebut adalah sub fungsi dari sebuah fungsi. Sehingga bila dikases tentu menimbulkan error.
5. Kesimpulan
- Kelas turunan menghindarkan dari penulisan kode yang sama secara berulang.
- Kelas turunan dapat diturunkan lagi dan memiliki sifat atas induk-induknya.