Contoh Penggunaan Kelas / class Dalam PHP


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 :

  •  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


  1. <?php
  2. class MakhlukHidup{
  3.        
  4.        
  5. function  __construct(){
  6.         }
  7.        
  8. protected function bernafas($name){
  9.         return "<b>".$name."&nbsp;bernafas</b>";
  10.         }
  11. public  function bergerak($name){
  12.         echo  "<b>".$name."&nbsp;bergerak</b>";
  13.         }
  14.  public function makan($name){
  15.         echo  "<b>".$name."&nbsp;makan</b>";
  16.         }
  17.  public function menanggapiRangsang($name){
  18.         echo  "<b>".$name."&nbsp;Menanggapi rangsang</b>";
  19.         }
  20.  public function tumbuh($name){
  21.         echo  "<b>".$name."&nbsp;tumbuh</b>";
  22.         }
  23. }
*kelas MakhlukHidup

kelas dia atas adalah kelas parent atau kelas induk yang berisi methode atau segala sesuatu yang bisa dilakukan makhluk hidup.


  1. <?php
  2. class Hewan extends MakhlukHidup{
  3.         private $name;
  4.        
  5.         public function setNama($nama){
  6.                
  7.                 $this->name=$nama;
  8.         }
  9.         public function getNama(){
  10.                
  11.                 return $this->name;
  12.         }
  13.        
  14.        
  15. }
  16. ?>
*kelas Hewan

kelas Hewan extends terhadap kelas induknya kelas MakhlukHidup


  1. <?php
  2. class Manusia extends MakhlukHidup{
  3.         private $name;
  4.        
  5.         public function setNama($nama){
  6.                         $this->name=$nama;
  7.      }
  8.     public function  getNama(){
  9.         return $this->name;
  10.     }
  11.         public function runMakan($name){
  12.                 //protected method hanya bisa di akses dalam sub kelas, jadi kalau ingin di ambil
  13.                 //oleh kelas lain harus di dijadikan public
  14.                 // bernfas adalah method protected dari kelas makhlukhidup hanya bisa di akses oleh
  15.                 //sub kelas nya jika langsung dipakai di kelas lain tidak bisa
  16.        
  17.         return $this->bernafas($name);
  18.         }
  19. }
*kelas Manusia 

kelas Manusia extends terhadap kelas induknya kelas MakhlukHidup


  1. <?php
  2. class Tumbuhan extends  MakhlukHidup{
  3.         private $name;
  4.        
  5.         public function setNama($nama){
  6.                
  7.                 $this->name=$nama;
  8.         }
  9.         public function getNama(){
  10.                
  11.                 return $this->name;
  12.         }
  13.        
  14. }
*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.

  1. <?php
  2. //this simple learning script php about class and inhiritance
  3. include 'makhlukhidup.php';
  4. include 'hewan.php';
  5. include 'manusia.php';
  6. include 'tumbuhan.php';
  7. $hewan = new Hewan();
  8. $manusia= new Manusia();
  9. $tumbuhan= new Tumbuhan();
  10. //isi hewan
  11. $hewan->setNama("Kuda");
  12. //isi manusia
  13. $manusia->setNama("Paijo");
  14. //isi tumbuhan
  15. $tumbuhan->setNama("Bunga Matahari");
  16. ?>
  17. <div  align="center" style="border-bottom:2px solid #000; margin-top:20px; width:auto;">
  18. <?php
  19. echo "".$hewan->bergerak($hewan->getNama())."&nbsp;public(method bergerak dari kelas induk makhluk hidup dilajlankan lewat kelas hewan)<br />";
  20. echo "".$manusia->bergerak($manusia->getNama())."&nbsp;public(method bergerak dari kelas induk Makhluk hidup dilajlankan lewat kelas manusia)<br />";
  21. echo "".$tumbuhan->bergerak($tumbuhan->getNama())."&nbsp;public(method bergerak dari kelas induk dilajlankan lewat kelas tumbuhan)<br />";
  22. ?>
  23. </div>
  24. <div align="center"  style="margin-top:20px;">
  25. <span > another method</span><br />
  26. <?php
  27. echo "".$hewan->makan($hewan->getNama())."&nbsp;public(method makan dari kelas induk makhluk hidup dilajlankan lewat kelas hewan)<br />";
  28. echo "".$manusia->makan($manusia->getNama())."&nbsp;public (method makan dari kelas induk Makhluk hidup dilajlankan lewat kelas manusia)<br />";
  29. echo  $manusia->runMakan($manusia->getNama())."this is protected from manusia";
  30. ?>
  31. </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

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel