DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Pelajari konsep pewarisan (inheritance) dalam PHP untuk memperluas fungsionalitas kelas dengan cara yang efisien dan mudah.
Inheritance, atau dalam bahasa Indonesia disebut warisan, adalah konsep penting dalam pemrograman berorientasi objek yang termasuk dalam PHP. Melalui inheritance, kita dapat membuat suatu kelas yang mengambil sifat dan perilaku dari kelas lain. Ini mempermudah penyusunan kode yang berstruktur dan menghindari duplikasi.
Inheritance memungkinkan sebuah kelas (yang disebut kelas anak atau subclass) untuk mewarisi properties dan methods dari kelas lain (yang disebut kelas induk atau superclass). Ini sangat memudahkan dalam kasus di mana kamu ingin membuat kelas baru yang sudah memiliki sebagian fungsionalitas dari kelas lain.
Kelas induk adalah kelas yang memberikan warisannya, sedangkan kelas anak adalah kelas yang menerima warisan itu. Kelas anak dapat mengakses dan menggunakan properties dan methods dari kelas induk, serta menambahkan atau memodifikasi elemen-elemen sesuai kebutuhan.
Untuk mengimplementasikan inheritance dalam PHP, kita menggunakan kata kunci extends
. Berikut adalah contoh bagaimana caranya.
// Ini adalah kelas induk
class Kendaraan {
public $kecepatan;
public function setKecepatan($kecepatan) {
$this->kecepatan = $kecepatan;
}
public function getKecepatan() {
return $this->kecepatan;
}
}
// Ini adalah kelas anak
class Sepeda extends Kendaraan {
public $jumlahRoda = 2;
}
Dalam contoh di atas, kelas Sepeda
mewarisi semua sifat dari kelas Kendaraan
, termasuk properties dan methods-nya. Kelas Sepeda
juga memiliki property tambahan yaitu $jumlahRoda
.
Kelas anak tidak hanya bisa mengakses, tetapi juga bisa meng-override atau menimpa properti dan metode dari kelas induk. Ini dilakukan dengan mendeklarasikan ulang mereka di dalam kelas anak dengan logika atau nilai yang berbeda.
class Sepeda extends Kendaraan {
public $jumlahRoda = 2;
// Override method getKecepatan
public function getKecepatan() {
return $this->kecepatan . " km/jam";
}
}
Kelas anak juga mewarisi konstruktor dari kelas induk. Namun, jika kelas anak memiliki konstruktor sendiri, PHP tidak secara otomatis menjalankan konstruktor kelas induk.
class Sepeda extends Kendaraan {
public $jumlahRoda = 2;
// Constructor khusus untuk kelas Sepeda
public function __construct() {
echo "Sepeda dibuat";
}
}
Jika kamu ingin konstruktor kelas induk juga dijalankan, kamu harus secara eksplisit memanggilnya menggunakan parent::__construct();
.
class Sepeda extends Kendaraan {
public $jumlahRoda = 2;
public function __construct() {
parent::__construct(); // Memanggil constructor Kendaraan
echo "Sepeda dibuat";
}
}
Inheritance adalah konsep yang sangat berguna dalam pemrograman berorientasi objek PHP karena membantu kita untuk menulis kode yang lebih modular, mudah dikelola, dan mudah diperluas. Dengan menggunakan inheritance, kamu bisa meningkatkan produktivitas dan mengurangi jumlah kode yang duplikat.