Inheritance dan Overwriting PHP

#Inheritence dalam kelas

#inheritence adalah salah satu sifat pemrograman berorientasi objek. Inheritence maksudnya penurunan sifat kelas induk ke kelas anak. berikut contohnya.

<?php
class KelasUtama{
public $propsatu =”properti pertamax”;
public function fungsiSatu(){
echo “memanggil fungsi satu <br/>”;
}
public function setProp($nilaibaru){
$this->$propsatu = $nilaibaru;
}
public function getProp(){
echo $this->$propsatu;
}
}
class KelasDua extends KelasUtama{
public function fungkelas2{
echo “ini fungsi di kelas2”;
}
}
//buat objek baru dari kelas yang turunan
$obj = new KelasDua;
echo $obj->fungkelas2();

echo $obj->getProp();

$obj->setProp(“nilai objek kelasdua dengan fungsi yang di deklarasikan di kelasUtama”);

echo $obj->getProp();

?>

#overwriting fungsi diphp
#caranya gampang, cukup dengan melakukan deklarasi ulang nama fungsi/properti yang sama dengan kelas utama.
<?php
class KelasUtama{
public $propsatu =”properti pertamax”;
public function fungsiSatu(){
echo “memanggil fungsi satu <br/>”;
}
public function setProp($nilaibaru){
$this->$propsatu = $nilaibaru;
}
public function getProp(){
echo $this->$propsatu;
}
}
class KelasDua extends KelasUtama{
$propsatu = “properti yang di overwrite”;
public function fungkelas2{
echo “ini fungsi di kelas2”;
}
public function fungsiSatu(){
echo “ini fungsi yang telah di overwrite”;
}
}
//buat objek baru dari kelas yang turunan
$obj = new KelasDua;
echo $obj->fungsiSatu().”<br />;
echo $obj->$propsatu;
?>

Kelas dan Objek di PHP

Kelas maksudnya desain utama dari sebuah objek.

Misalnya blueprint rumah adalah kelas. sedangkan rumah yang dibangun merupakan sebuah objek. Contoh lain bisa di analogikan dengan sepeda sebagai kelas, sedangkan bmx, sepeda gunung, ontel merupakan objek.

#Struktur kelas di php
<?php
class KelasGue{
//metode kelas disimpan disini
}
?>
setelah membuat kelas kita bisa membuat objek
<?php
$objgue= new KelasGue;
var_dump($objgue); //untuk melihat kelas
?>
#Mendefenisikan properti pada kelas
<?php
class KelasGue{
public $propertisatu=”contoh properti kelas”;
}
$obj = new Kelasgue;
var_dump($obj);
echo $obj->$propertisatu;
?>

#Mendefenisikan method pada kelas
<?php
class KelasGue{
public $propsatu=”properti pertamax”;
public fucntion setProp($nilaibaru){
$this->$propsatu = $nilaibaru
}
public function getProp(){
return $this->$propsatu.”<br />”
}
}
$objek = new KelasGue;
echo $objek->getProp();
$objek->setProp(“seting properti baru bang”);
echo $objek->getProp();
?>

#membuat dua objek dari kelas yang sama
<?php
class KelasDua{
public $propsatu = “properti satu”;
public $probdua = “propertidua”;

public function setProp1($nilaibaru){
$this->$propsatu=$nilaibaru;
}
public function setProp2($nilaitest){
$this->$propdua=$nilaitest;
}
public function getProp1(){
return $this->$propsatu.”<br />”;
}
}
$ob1 = new KelasDua;
$ob2 = new KelasDua;

echo $ob1->getProp1();
echo $ob2->getProp1();

$ob1->setProp1(“properrti objek satu”);
$ob2->setProp1(“properti objek kedua”);

echo $ob1->getProp1();
echo $ob2->getProp1();
?>