Contoh Penggunaan Kelas / class Dalam PHP
Tuesday, April 22, 2014
Edit
OOP lagi, tapi catatan kali ini akan mengimplementasikan kelas di PHP 5. Jujur saya baru kali ini memakai kelas untuk di php tapi secara cara kerja dan konsep nya sama aja dengan java, soalnya dulu sering pakai java tapi belum khatam baru masuk ke frameworks udah kadung putus ada kegiatan lain di luar dunia programming jadi agak lupa deh, semoga melalui blog ini semua memory dan mungkin segala sesuatu yang ingin saya ketahui dapat terdokumentasi dengan baik. dan saya bisa dengan mudah membuka nya lagi dan yang pasti ga gampang hilang dan mungkin dari pembaca dapat mengambil ilmu dari tulisan saya. amin.
Oke kembali lagi ke kasus, kali ini saya akan memebuat kelas yang mengimplementasikan sifat OOP yaitu pewarisan sifat, sebetulnya gampang kok untuk di pahami dan dipelajari, seperti kita belajar bahasa indonesia dulu ada kata umum dan khusus, nah penerapan kelas pewarisan sifat seperti halnya umum dan khusus.
Langsung penerapan dan contoh aja yah, daripada banyak cingcong.
Parent Class :
- Bernafas
- Bergerak
- MenanggapiRangsang
- Tumbuh
- Makan
Child Class:
Oke kembali lagi ke kasus, kali ini saya akan memebuat kelas yang mengimplementasikan sifat OOP yaitu pewarisan sifat, sebetulnya gampang kok untuk di pahami dan dipelajari, seperti kita belajar bahasa indonesia dulu ada kata umum dan khusus, nah penerapan kelas pewarisan sifat seperti halnya umum dan khusus.
Langsung penerapan dan contoh aja yah, daripada banyak cingcong.
Parent Class :
- MakhlukHidup
methode / function yang dimiliki:
- Bernafas
- Bergerak
- MenanggapiRangsang
- Tumbuh
- Makan
Child Class:
- Manusia
- Hewan
- Tumbuhan
Parent class adalah kelas induk , sedangkan bernafas, bergerak,menanggapi rangsang, tumbuh, makan adalah segala hal yang dilakukan makhluk hidup, bisa berupa sifat kegiatan yang biasa dan dimiliki oleh makhluk hidup secara umum atau disebut method/function.
Child class Manusia, Hewan ,Tumbuhan adalah class yang merupakan turunan dari makhluk hidup dilihat dari kalimat merupakan kalimat umum , kelas ini secara tidak langsung akan mempunyai sifat seperti kelas induknya seperti bernafas, bergerak, menanggapi rangsang, tumbuh dan makan. kata kunci yang dipakai adalah EXTENDS
- <?php
- class MakhlukHidup{
- function __construct(){
- }
- protected function bernafas($name){
- return "<b>".$name." bernafas</b>";
- }
- public function bergerak($name){
- echo "<b>".$name." bergerak</b>";
- }
- public function makan($name){
- echo "<b>".$name." makan</b>";
- }
- public function menanggapiRangsang($name){
- echo "<b>".$name." Menanggapi rangsang</b>";
- }
- public function tumbuh($name){
- echo "<b>".$name." tumbuh</b>";
- }
- }
*kelas MakhlukHidup
kelas dia atas adalah kelas parent atau kelas induk yang berisi methode atau segala sesuatu yang bisa dilakukan makhluk hidup.
- <?php
- class Hewan extends MakhlukHidup{
- private $name;
- public function setNama($nama){
- $this->name=$nama;
- }
- public function getNama(){
- return $this->name;
- }
- }
- ?>
*kelas Hewan
kelas Hewan extends terhadap kelas induknya kelas MakhlukHidup
- <?php
- class Manusia extends MakhlukHidup{
- private $name;
- public function setNama($nama){
- $this->name=$nama;
- }
- public function getNama(){
- return $this->name;
- }
- public function runMakan($name){
- //protected method hanya bisa di akses dalam sub kelas, jadi kalau ingin di ambil
- //oleh kelas lain harus di dijadikan public
- // bernfas adalah method protected dari kelas makhlukhidup hanya bisa di akses oleh
- //sub kelas nya jika langsung dipakai di kelas lain tidak bisa
- return $this->bernafas($name);
- }
- }
*kelas Manusia
kelas Manusia extends terhadap kelas induknya kelas MakhlukHidup
- <?php
- class Tumbuhan extends MakhlukHidup{
- private $name;
- public function setNama($nama){
- $this->name=$nama;
- }
- public function getNama(){
- return $this->name;
- }
- }
*kelas Tumbuhan
kelas Manusia extends terhadap kelas induknya kelas MakhlukHidup
kita akan butuh satu halaman index untuk menampilkan apa yang sudah di buat untuk melihat bagaimana pewarisan itu terjadi.
- <?php
- //this simple learning script php about class and inhiritance
- include 'makhlukhidup.php';
- include 'hewan.php';
- include 'manusia.php';
- include 'tumbuhan.php';
- $hewan = new Hewan();
- $manusia= new Manusia();
- $tumbuhan= new Tumbuhan();
- //isi hewan
- $hewan->setNama("Kuda");
- //isi manusia
- $manusia->setNama("Paijo");
- //isi tumbuhan
- $tumbuhan->setNama("Bunga Matahari");
- ?>
- <div align="center" style="border-bottom:2px solid #000; margin-top:20px; width:auto;">
- <?php
- echo "".$hewan->bergerak($hewan->getNama())." public(method bergerak dari kelas induk makhluk hidup dilajlankan lewat kelas hewan)<br />";
- echo "".$manusia->bergerak($manusia->getNama())." public(method bergerak dari kelas induk Makhluk hidup dilajlankan lewat kelas manusia)<br />";
- echo "".$tumbuhan->bergerak($tumbuhan->getNama())." public(method bergerak dari kelas induk dilajlankan lewat kelas tumbuhan)<br />";
- ?>
- </div>
- <div align="center" style="margin-top:20px;">
- <span > another method</span><br />
- <?php
- echo "".$hewan->makan($hewan->getNama())." public(method makan dari kelas induk makhluk hidup dilajlankan lewat kelas hewan)<br />";
- echo "".$manusia->makan($manusia->getNama())." public (method makan dari kelas induk Makhluk hidup dilajlankan lewat kelas manusia)<br />";
- echo $manusia->runMakan($manusia->getNama())."this is protected from manusia";
- ?>
- </div>
*
halaman index.php
lewat instansiasi kelas anak kita bisa mengambil methode yang ada di dalam kelas makhlukhidup tanpa harus mengimplementasikan methode yang sama di kelas anak. anak sudah memegang reference.
:D