Berlatih Teknik OOP di PHP

Berlatih Teknik OOP di PHP – Kali ini saya akan mengajak kalian untuk bersama-sama memulai dan mengenal masing-masing teknik OOP yang sudah dibahas pada artikel saya sebelumnya disini.

Encapsulation

Buat File dengan nama encapsulation.php dan simpan ke dalam document root server Anda ( htdocs, jika Anda menggunakan XAMPP atau di www jika Anda menggunakan AppServ atau WampServer ), kemudian silahkan tuliskan script berikut :

<?php
// Cara mendeklarasi Class di PHP
class Mobil {
    protected $warna;
    protected $jenis;
    protected $merk;

/* Construct adalah function yang pertama kali dipanggil sama halnya seperti form load di visual basic 6.0 */
    public function __construct() {
        $this->warna = "Hijau";
        $this->jenis = "Sedan";
        $this->merk = "BMW";
    }

    /* Cara mendeklarasikan method */
    public function getWarna() {
        return $this->warna;
    }
}

// Cara menggunakan Class di PHP
$mobil = new Mobil();

// Cara memanggil attribute di PHP
$warna = $mobil->getWarna();
print_r($warna);

?>

Hasil dari skrip di atas akan menampilkan wana “Hijau” seperti gambar dibawah ini :

Encapsulation
Encapsulation
Berlatih Teknik OOP di PHP
Inheritance

Buat file dengan nama minibus.php dan simpan kedalam document root server Anda, kemudian tuliskan skrip berikut :

<?php
include "encapsulation.php";
class Minibus extends Mobil {
    protected $jumlahPenumpang;

    public function __construct() {
        $this->warna = "Coklat";
    }

    public function setJumlahPenumpang($jumlahPenumpang) {
        $this->jumlahPenumpang = $jumlahPenumpang;
        return $this;
    }

    public function getJumlahPenumpang() {
        return $this->jumlahPenumpang;
    }
}
?>

Kemudian silahkan dilanjutkan buat file inheritance.php yang skripnya sebagai berikut :

<?php
include "minibus.php";
$Minibus = new Minibus();
$Minibus->setJumlahPenumpang(12);
$jumlahPenumpang = $Minibus->getJumlahPenumpang();
$warna = $Minibus->getWarna();

// akan menghasilkan warna : coklat
print_r("Warna : ".$warna);

// akan menampilkan hasil : 12
print_r("<br />jumlah penumpang : ".$jumlahPenumpang);
?>

Keterangan :
getWarna(), merupakan method yang ada pada parent Class, tetapi bisa digunakan. Ini yang dimaksud penurunan sifat. Semua attribute dan method pada Class Mobil bisa digunakan oleh Class Minibus sebagai turunannya.

Inheritance
Inheritance

Polymorphisme

Buka kembali file minibus.php yang telah kita buat sebelumnya, kemudian tambahkan perintah berikut :

public function getWarna() {
    return "This is example for polimorfisme";
}

Kemudia silahkan buat file dengan nama polymorphisme.php yang skripnya sebagai berikut :

<?php
include "minibus.php";
$minibus = new Minibus();
$getWarna = $minibus->getWarna();
print_r($getWarna);
?>

Dengan menambahkan getWarna() di minibus.php, berarti saat ini ada dua method yang bernama getWarna(), pertama ada di Class Minibus sebagai child class dan yang kedua Class Mobil sebagai parent class. Pertanyaannya, method mana yang akan dipanggil ??? Jawabannya yaitu method yang ada di minibus.php yang memanggil method getWarna(), otomatis terjadi override method getWarna(). Untuk lebih jelasnya silahkan Anda coba, maka hasil yang muncul di browser adalah tulisan “This is example for polimorfisme”

Polimorfisme
Polimorfisme