OOP Pada PHP (Part 1)
Pada artikel ini akan saya jelaskan implementasi OOP pada PHP. Saya
tidak akan menjelaskan secara detail tentang konsep dasar OOP, mungkin
bisa anda lihat di artikel lainnya. PHP sudah mendukung OOP mulai versi
5, yang mempunyai bentuk pemodelan object yang baru untuk mengatasi
kompleksitas masalah yang tidak bisa dilakukan pada versi sebelumnya.
PHP 5 memberikan performa yang lebih baik dan fitur baru dibandingkan
versi sebelumnya.
Kelas / Class
Setiap pendefinisain/deklarasi sebuah kelas pada PHP menggunakan class
yang diikuti nama kelas,
kemudian diikuti tanda '{' dan diakhiri dengan tanda '}'
kita bisa memberikan sembarang nama sebuah kelas, selama tidak sama
dengan fungsi yang dimiliki PHP.
contoh, class print. nama kelas print tidak bisa kita gunakan, karena
print adalah fungsi dimiliki oleh PHP. Kita bisa memuat/mendefinisikan
properti kelas dan methode kelas di antara tanda "kurung kurawal".
variable $this adalah sebuah variable samaran yang digunakan untuk
memanggil sebuah propertis atau methode sebuah kelas.
Contoh berikut akan lebih memperjelas tentang kelas pada php
class orang{#kelas orang
#Properties Class
var $nama;
var $umur;
var $tinggi;
var $berat;
function orang (){#Constructor
echo "Initialisation Object";
}
function get_nama(){
return $this->nama;
}
}#end class
pada contoh di atas saya membuat sebuah kelas dengan nama orang. Kelas
tersebut memiliki propertis nama, umur, tinggi dan berat. Fungsi orang
adalah sebuah constructor dari kelas orang, contstructor tersebut akan
dijalankan ketika kita membuat sebuah object orang.
Properti kelas
Properti kelas kelas merupakan sebuah identitas/karakter khusus sebuah
kelas, contoh Orang pasti memilki tinggi dan berat. Tinggi dan berat
tersebut adalah sebuat properti. pada contoh kelas orang di atas
mempunyai properti nama, umur, tinggi dan berat.
Untuk memberikan nilai dari properti sebuah kelas kita tidak bisa
menggunakan cara langsung, seperti memberikan nilai pada sebuah varible.
Contoh, misalkan kita akan memberikan nilai pada variable properti nama
dengan value "Rakhmad maulidi", untuk memberikan value pada properti
kelas kita menggunakan variable $this,
Untuk mengakses/menggambil value properti sebuah kelas juga menggunakan
variable $this
Contoh berikut akan lebih memperjelas tentang cara memberikan value
properti kelas pada PHP
$nama="Rakhmad Maulidi";//
$this->nama="Rakhmad Idiluam";//
echo "$nama";//result : Rakhmad Maulidi
echo $this->nama;//result : Rakhmad Idiluam
cara di atas bisa kita jadikan dalam bentuk function berikut :
function set_nama($nama){
$this->nama=$nama;
}
function get_nama(){
return $this->nama;
}
Methode/Behavior Kelas
Methode/Behavior Kelas adalah fungsi-fungsi apa yang bisa dilakukan oleh
object. Misalkan pada kelas orang bisa melakukan makan, tidur,
berjalan.
Contoh berikut akan lebih memperjelas tentang cara memberikan
methode/behavior kelas pada PHP
function makan($is_makan)
{
if ($is_makan){
$mkn = "sedang makan";}
else{
$mkn ="sudah makan";
}
return $mkn;
}
function tidur($is_tidur)
{
if ($is_tidur){
$tdr= "sedang tidur";}
else{
$tdr="sudah bangun";
}
return $tdr;
}
Nah, setelah intermezzo yang saya sampaikan di atas, sekarang waktunya coding yang lebih kongkrit tentang OOP pada PHP.
Untuk membuat object dari sebuah kelas kita menggunakan notasi new, contoh
$rahmat = new orang;
$andi = new orang;
$ali = new orang;
Pada contoh tersebut saya membuat tiga object orang yaitu $rahmad, $andi
dan $ali. Masing object akan memiliki properti sendiri-sendiri,
misalkan saya akan membeikan value "Rakhmad Idiluam" dari properti nama
dari object $rahmad, dan pada object lainnya:
$rahmad->set_nama("Rakhmad Maulidi");
$andi->set_nama("Andi Malarangeng");
$ali ->set_nama("Ali bin Abu Tholib");
Untuk mendapatkan value dari masing properti name dari object kita bisa melakukan cara berikut:
$rahmad->get_nama();
$andi->get_nama();
$ali->get_nama();
untuk penggunaan methode atau behavior pada object kita bisa melakukan cara berikut:
$rahmad->tidur(true);
$andi->makan(true);
$ali->get_nama(false);
file by; bengkel program, visit at bengkelprogram.com
0 komentar:
Posting Komentar