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

Kelas induk umumnya bersifat lebih umum. Sehingga bisa diwariskan baik method maupun properti untuk kelas turunannya. Hubungan antar kelas ini biasa digambarkan atau dirancang menggunakan diagram kelas. Berikut ini contoh Sebuah kelas induk.

<?php
class Pohon{
public $nama_pohon;
public function beri_nama_pohon($beri){
$this->nama_pohon=$beri;
echo "Nama Pohon: $this->nama_pohon";
}
}

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

Jika kita menggunakan konsep OOP dalam program kita sudah barang tentu kita ingin mendapatkan keuntungan. Keuntungan tersebut ialah pewarisan. Pewarisan ialah kemampuan kelas turunan untuk menggunakan properti dan method dari kelas induk. Alhasil kita tidak perlu membuat sebuah kelas dari nol lagi bukan?. Jika kelas tersebut merupakan kelas turunan. Maka minimal isi kelas tersebut sama dengan kelas induknya. Barulah kemudian kita menambahkan method atau fungsi lain yang ternyata tidak dimiliki oleh kelas induk dan kita memerlukannya.

//include file kelas induk
class Jambu_air extends Pohon {
var $warna_buah;
public function beri_warna_buah($beri){
$this->warna_buah=$beri;
echo "Warna Buah: $this->warna_buah";
}
}

$jambu_air = new Jambu_air;
$jambu_air->beri_nama_pohon("Jambu Madu");
echo "<br>";
$jambu_air->beri_warna_buah("Hijau Muda");


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

Dari contoh kode program kelas turunan tersebut. Maka dapat ditarik beberapa kesimpulan berikut.
  • Kelas turunan menghindarkan dari penulisan kode yang sama secara berulang.
  • Kelas turunan dapat diturunkan lagi dan memiliki sifat atas induk-induknya.

Popular posts from this blog

Cara Menggunakan Template Admin LTE Sebagai Template Web Dinamis

Aplikasi CRUD menggunakan Template Admin LTE

Cara membuat Link ke Halaman lain dan Link ke bagian Halaman