Mengenal Inheritance / Pewarisan

Malam bro, udah lama ya ga ngelanjutin postingan Belajar OOP (Object Oriented Programming) Menggunakan PHP Untuk Pemula ini.. maklum lagi sibuk sama ujikom, tapi udah beres sih kalo sekarang.. hoho yo mari kita lanjut aja we ya ke tutorial selanjutnya.. Apa itu Inheritance ? Untuk apa Pewarisan ini dipakai ? Satu kasus kita sudah mempunyai Class Siswa, lalu kita ingin membuat objek baru yaitu Mata Pelajaran. Kita tidak perlu membuat properti yang ada pada Class Siswa kedalam Class Mata Pelajaran. Kita cukup membuat Class Mata Pelajaran yang merupakan turunan Class Siswa.

Class Mata Pelajaran ini akan memiliki properti dan method yang sama dengan Class Siswa, namun ada property dan method khusus untuk Class Mata Pelajaran ini. Dalam hal ini sudah pernah diterapkan pada sesi sebelumnya Encapsulation yang mana kita membuat class Nilai yang menjadi turunan class Siswa. Bingung ? Coba kita langsung praktek pembuatan classnya dibawah ini.

<?php 

	/*
		* Perbaikan Protected
	*/

class Siswa{

	// Property
	public $nama;
	private $nilai;
	protected $kelas;

	// Constructor
	function __construct($nama,$nilai,$kelas){
		$this->nama = $nama;
		$this->nilai = $nilai;
		$this->kelas = $kelas;
	}

	// Method
	protected function StatusNilai(){
		if($this->nilai >= 70) {
			$status = "Lulus";
		}else{
			$status = "Remed";
		}
		return $status;
	}

	public function bacaNilai(){
		return $this->nilai;
	}

	public function bacaKelas(){
		return $this->kelas;
	}
}

// class turunan
class MataPelajaran extends Siswa{
	public $status;
	public $guru;
	public $matapelajaran;

	public function mapel($guru,$mapel){
		$this->guru = $guru;
		$this->matapelajaran = $mapel;
	}

	// Mengambil method dari class turunan
	public function StatusNilaiSiswa(){
		$this->status = $this->StatusNilai();
		return $this->status;
	}
}

$turunan = new MataPelajaran('Ferdhika',85,'XII RPL A');
$turunan->mapel('Bu Riza','Web Lanjut');

echo "
	Nama  : ".$turunan->nama."<br>
	Pelajaran : ".$turunan->matapelajaran."<br>
	Guru : ".$turunan->guru."<br>
	Nilai   : ".$turunan->bacaNilai()."<br>
	Kelas   : ".$turunan->bacaKelas()."<br>
	Status  : ".$turunan->StatusNilaiSiswa()."
";

?>

Coba jalankan script PHP diatas, property dan method yang ada pada class siswa bisa kita baca di class MataPelajaran. Gampang kan ? Selanjutnya kita akan coba berlatih menggabungkan semua sesi pembelajaran ini untuk melatih kita membuat Operasi Bilangan Dengan PHP OOP.

Demikianlah sesi pembelajaran Inheritance / Pewarisan Dalam OOP. Terus pantengin yah Daftar Pembelajaran PHP OOP ini..

Semoga bermanfaat.. :D