Pengertian Inheritance (Pewarisan) Pada OOP PHP

Pada tutorial kali ini akan membahas tentang pengertian Inheritance (Pewarisan) pada OOP PHP.

Adalah konsep penurunan sifat (maksudnya Property dan Method jika dalam OOP) yang dimiliki oleh sebuah Class kepada Class lain yang menjadi Class turunannya. Class yang menurunkan Property/Method ini disebut Parent Class / Class Induk, sedangkan Class yang menerima pewarisan Property/Method ini disebut Child Class / Class Anak.

Agar Class Parent dapat menurunkan Property/Methodnya, maka Property/Method itu harus di definisikan sebagai Public / Protected, sedangkan syarat bagi sebuah Class menjadi Class Anak, maka dalam pendefinisian Class ini harus ditambah keyword extends.

Contoh :

<?php
// Pembuatan Class Parent
class ClassInduk {

	// Pendefinisian Property
	public $properti;

	// Pendefinisian Method
	public function metode(){

	}

}

// Pembuatan Class Anak
class ClassAnak extends ClassInduk{

	// Pendefinisian Method pada Class Anak
	public function cetakProperty(){
		return $this->properti();
	}

}
?>

Manfaat dari konsep inheritance ini adalah, anda tidak perlu membuat ulang Property/Method yang baru, anda hanya perlu menggunakannya kembali dari Property/Method yang sudah ada. Jadi hal ini akan mengurangi duplikasi program.

Perhatikan kode sumber berikut :

<?php
// Pembuatan Parent Class
class Hamba {
	// Pendefinisian Public Property $nama
	public $nama;
	
	// Pendefinisian Protected Property $tinggi_badan
	protected $tinggi_badan;

	// Pendefinisian Public Method melihat()
	public function melihat(){
		return "menggunakan Mata";
	}

}

// Pembuatan Child Class
class Manusia extends Hamba{

	// Pendefinisian Public Method tinggBadan()
	public function tinggBadan(){
		return $this->tinggi_badan = '160 cm';
	}

	// Pendefinisian Public Method manusiaMelihat()
	public function manusiaMelihat(){
		return $this->melihat();
	}

}

$Amir = new Manusia;
?>

<p>Hai, Saya <?= $Amir->nama = 'Amir' ?>, Saya Manusia, Saya melihat <?= $Amir->melihat(); ?>.</p>
<p>Tinggi saya <?= $Amir->tinggBadan() ?>.</p>

Saya membuat Parent Class bernama Hamba, dan memiliki Public Property $nama, juga Protected Property $tinggi_badan dan juga Public Method melihat().

Kemudian saya membuat Class baru bernama Manusia yang akan mewarisi Property/Method dari Class Hamba.

Maka di dalam Child Class Manusia, saya buatkan Method bernama tinggiBadan() yang akan mendapatkan nilai dari Property $tinggi_badan milik Class Hamba, sedangkan Method ManusiaMelihat() akan mendapatkan nilai dari Method melihat(). Namun, karena saya memanggilnya di dalam Class, maka saya harus mendeklarasikannya menggunakan keyword $this.

// Pendefinisian Public Method tinggBadan()
public function tinggBadan(){
	return $this->tinggi_badan = '160 cm';
}
// Pendefinisian Public Method manusiaMelihat()
public function manusiaMelihat(){
	return $this->melihat();
}

Terakhir barulah saya buatkan Objek dari Child Class Manusia bernama Amir. Dan apabila dijalankan, hasilnya adalah seperti ini :

apa itu pewarisan pada oop php

Selain itu anda juga dapat menurunkan apa yang dimiliki Parent Class ke Anak – Anak Class yang lain. Misal dalam kasus ini, saya buat Class turunan bernama Jin.

<?php
// Pembuatan Parent Class
class Hamba {

	public $nama;
	protected $tinggi_badan;

	public function melihat(){
		return "menggunakan Mata";
	}

}

// Pembuatan Child Class
class Manusia extends Hamba{

	public function tinggBadan(){
		return $this->tinggi_badan = '160 cm';
	}

	public function manusiaMelihat(){
		return $this->melihat();
	}

}

// Pembuatan Child Class
class Jin extends Hamba{

	public function tinggBadan(){
		return $this->tinggi_badan = '300 cm';
	}

	public function jinMelihat(){
		return $this->melihat();
	}

}

$Amir = new Manusia;
$Iprit = new Jin;
?>

<p>Hai, Saya <?= $Amir->nama = 'Amir' ?>, Saya Manusia, Saya melihat <?= $Amir->melihat(); ?>.</p>
<p>Tinggi saya <?= $Amir->tinggBadan() ?>.</p>
<hr>
<p>Hai, Saya <?= $Iprit->nama = 'Iprit' ?>, Saya Jin, Saya melihat <?= $Iprit->melihat(); ?>.</p>
<p>Tinggi saya <?= $Iprit->tinggBadan() ?>.</p>

Dan apabila di jalankan hasilnya adalah seperti ini :

apa itu inheritance


Demikian tutorial dari pengertian pengertian inheritance (pewarisan) pada oop php. Silahkan kunjungi tutorial lainnya seperti :

Leave a comment

Your email address will not be published. Required fields are marked *