Pada tutorial kali ini anda akan belajar tentang apa itu abstract class pada php object oriented programming dan bagaimana cara menggunakanya.
Hallo semuanya, kembali lagi di tutorial saya , masih dengan tema kategori yang sama yaitu membahas tentang OOP(object oriented programming ) pada pemprogramman PHP.
setelah sebelumnya saya telah membahas tentang overriding dan overloading, kali ini saya akan membahas tentang abstact class.
Abstract class adalah sebuah class yang tidak dapat diinstansiasi atau dibuat object-nya. Abstract class harus di-extends oleh child class agar dapat bisa digunakan. Karena harus di-extends, maka berlaku aturan-aturan dalam konsep pewarisan.
setelah paham maksudnya kita langsung praktekan ya , sebelumnya saya pastikan untuk membahas ini dan seterusnya kalian sudah mengerti tentang namespace karena coding saya memiliki namespace nya sendiri-sendiri agar tidak membingungkan.
Folder : abstarctclasses/kendaraan/Mobil.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php namespace Kendaraan; abstract class Mobil { private $jumlahRoda; public function setJumlahRoda($jumlahRoda) { $this->jumlahRoda = $jumlahRoda; } public function getJumlahRoda() { return $this->jumlahRoda; } } |
Folder : abstarctclasses/kendaraan/Toyota.php
1 2 3 4 5 6 7 8 |
<?php namespace Kendaraan; class Toyota extends Mobil { const Merk = "Toyota"; } |
Folder : abstarctclasses/kendaraan/Lamborgini.php
1 2 3 4 5 6 7 8 |
<?php namespace Kendaraan; class Lamborgini extends Mobil { const Merk = "Lamborgini"; } |
Folder : abstarctclasses/kendaraan/Bmw.php
1 2 3 4 5 6 7 8 |
<?php namespace Kendaraan; class Bmw extends Mobil { const Merk = "BMW"; } |
Lalu kita buat file pemanggilnya :
Folder : abstarctclasses/index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php require __DIR__.'/kendaraan/Mobil.php'; require __DIR__.'/kendaraan/Toyota.php'; require __DIR__.'/kendaraan/Lamborgini.php'; require __DIR__.'/kendaraan/Bmw.php'; use kendaraan\Mobil; use kendaraan\Toyota; use kendaraan\Lamborgini; use kendaraan\Bmw; $Toyota = new Toyota(); $Lamborgini = new Lamborgini(); $Bmw = new Bmw(); $Toyota->setJumlahRoda(1); $Lamborgini->setJumlahRoda(2); $Bmw->setJumlahRoda(3); echo $Toyota->getJumlahRoda()."Mobil Toyota"; echo "<br>"; echo $Lamborgini->getJumlahRoda()."Mobil lamborgini"; echo "<br>"; echo $Bmw->getJumlahRoda()."Mobil Bmw"; ?> |
karena abstarc class hanya bisa di extends sehingga child class secara otomatis memiliki setter dan getter juga yang di dapat dari class parent mobil.php.
setelah di jalankan hasilnya akan seperti ini :
jadi seperti itulah apa itu abstract class pada php object oriented programming , semoga dapat di cerna dan di pahami ya 🙂 sampai bertemu pada artikel selanjutnya.