
Inheritance / Pewarisan Dalam OOP
Pada tutorial sebelumnya kita sudah membahas tentang Pengenalan Encapsulation. Pada Tutorial Sesi ini kita akan membahas tentang Inheritance atau Pewarisan dalam OOP. Apa itu Inheritance ? Untuk apa Pewarisan ini dipakai ? Satu kasus kita sudah mempunyai Class Mahasiswa
, lalu kita ingin membuat objek baru yaitu Mata Kuliah
. Kita tidak perlu membuat properti yang ada pada Class Mahasiswa
kedalam Class Mata Kuliah
. Kita cukup membuat Class Mata Kuliah
yang merupakan turunan Class Mahasiswa
.
Class Mata Kuliah ini akan memiliki properti dan method yang sama dengan Class Mahasiswa
, namun ada property dan method khusus untuk Class Mata Kuliah
ini. Dalam hal ini sudah pernah diterapkan pada sesi sebelumnya Encapsulation yang mana kita membuat class Nilai
yang menjadi turunan class Mahasiswa
. Bingung ? Coba kita langsung praktek pembuatan classnya dibawah ini.
<?php
/*
* Pewarisan
*/
class Mahasiswa
{
public $nim;
private $nama;
protected $nilai;
function __construct($nim, $nama, $nilai)
{
$this->nim = $nim;
$this->nama = $nama;
$this->nilai = $nilai;
}
public function NamaMhs()
{
return $this->nama;
}
protected function StatusNilai()
{
if ($this->nilai >= 60) {
$status = "Lulus";
} else {
$status = "Gagal";
}
return $status;
}
}
class MataKuliah extends Mahasiswa
{
public $matakuliah;
public $dosen;
public $status;
public function Matkul($matkul, $dosen)
{
$this->matakuliah = $matkul;
$this->dosen = $dosen;
}
// Mengambil property dari class turunan
public function NilaiMhs()
{
return $this->nilai;
}
public function Grade()
{
if ($this->nilai >= 90) {
$grade = "A";
} elseif ($this->nilai >= 80) {
$grade = "B";
} elseif ($this->nilai >= 60) {
$grade = "C";
} elseif ($this->nilai >= 50) {
$grade = "D";
} else {
$grade = "E";
}
return $grade;
}
// Mengambil method dari class turunan
public function StatusNilaiMhs()
{
$this->status = $this->StatusNilai();
return $this->status;
}
}
$data = new MataKuliah(11212262, 'Nurul Imam', 90);
$data->Matkul("Pemrograman PHP", "Agus Irawan");
echo "NIM : ".$data->nim."<br />";
echo "Nama : ".$data->NamaMhs()."<br />";
echo "Mata Kuliah : ".$data->matakuliah."<br />";
echo "Dosen : ".$data->dosen."<br />";
echo "Nilai : ".$data->NilaiMhs()."<br />";
echo "Grade : ".$data->Grade()."<br />";
echo "Status : ".$data->StatusNilaiMhs()."<br />";
?>
Coba jalankan script PHP diatas, property dan method yang ada pada class mahasiswa
bisa kita baca di class MataKuliah
. Gampang kan ? Selanjutnya kita akan coba berlatih menggabungkan semua sesi pembelajaran ini untuk melatih kita membuat Operasi Bilangan Dengan PHP OOP. Silahkan coba sendiri atau lihat artikel Latihan – Membuat Operasi Bilangan Dengan PHP OOP untuk melihat contohnya.
Demikianlah sesi pembelajaran Inheritance / Pewarisan Dalam OOP. Terus pantengin yah Daftar Pembelajaran PHP OOP ini.
mantap gan Inheritancenya…saya tunggu tutorial slanjutnya..
klw bisa nanti saya request tutorial lengkap tentang polymorphisme…
ada banyak cari di google gan