Implementasi OOP pada PHP
OOP Pada PHP
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 panca indra
#Properties
Class
var $mata;
var $telinga;
var $otak;
var $kelamin;
function
panca indra (){#Constructor
echo "Initialisation Object";
}
function
get_mata(){
return $this->mata;
}
}#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="Muhammad
Rizqi Hidayatullah";//
$this->nama="Muhammad
Rizqi Hidayatullah";//
echo
"$nama";//result : Muhammad Rizqi Hidayatullah
echo
$this->nama;//result : Muhammad Rizqi Hidayatullah
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
minum($is_minum)
{
if ($is_minum){
$mnm = "sedang minum";}
else{
$mnm ="sudah minum";
}
return $mnm;
}
function
berdiri($is_berdiri)
{
if ($is_berdiri){
$brdr= "sedang berdiri";}
else{
$brdr="telah duduk";
}
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
$udin = new
orang;
$bejo = new
orang;
$budi = new
orang;
Pada contoh
tersebut saya membuat tiga object orang yaitu $udin, $bejo dan $budi. Masing
masing object akan memiliki properti sendiri-sendiri, misalkan saya akan membeikan
value "fachrudin" dari properti nama dari object $udin, dan pada
object lainnya:
$udin->set_nama("Fachrudin");
$bejo->set_nama("bejo
lintangkulintang");
$budi
->set_nama("jambudi prakoso");
Untuk
mendapatkan value dari masing properti name dari object kita bisa melakukan
cara berikut:
$udin->get_nama();
$bejo->get_nama();
$budi->get_nama();
untuk
penggunaan methode atau behavior pada object kita bisa melakukan cara berikut:
$udin->tidur(true);
$bejo->makan(true);
$budi->get_nama(false);
Komentar
Posting Komentar