Sabtu, 07 Maret 2009

OOP dalam PHP : Class

nah OOP tentu tidak lepas dengan yang namanya Class. Ternyata di PHP pun ada loh Class itu. dan penggunaannya mirip sekali dengan class yang biasa kita pakai di Java ataupun C++

\<\? class member{

}
?>

lalu untuk memasukkan atribut dan fungsinya juga hampir mirip

class member{
var $nama;

function setNama($newNama){
$this->nama = $newNama;
}

function getNama(){
return $this->nama;
}
}
?>

cukup mudah bukan?? lalu coba simpan dengan nama file member.php
setelah itu kita coba langsung kita coba implementasikan di index.php

include ("member.php");

$guest = new member();

$quest->setNama("Aqsath");

echo "Nama member adalah : " . $guest->getNama();
?>

nah, mantab kan?? kita sudah bisa membuat class dan membuat class itu sekaligus menggunakan fungsi - fungsi di dalamnya..

apakah sampai disitu saja?? ternyata tidak.. hehe.. seperti biasa dalam class juga dikenal constructor. Di PHP pun constructor itu disediakan dengan fungsi __construct()

kita ambil contoh member.php yang tadi kita modif sedikit :

class member{
var $nama;

function __construct($namaMember){
$this->nama = $namaMember;
}

function setNama($newNama){
$this->nama = $newNama;
}

function getNama(){
return $this->nama;
}
}
?>

lalu di index.php kita modif juga menjadi :

include ("member.php");
$guest = new member("Aqsath");
echo "Nama member adalah : " . $guest->getNama();
?>

akan menghasilkan hasil yang sama dengan index.php sebelum dimodif..
class ini pun bisa diberikan access modifier seperti yang sering kita gunakan di OOP.
kita modif lagi member.php menjadi :

class member{

protected var $nama;
public function __construct($namaMember){
$this->nama = $namaMember;
}

public function setNama($newNama){
$this->nama = $newNama;
}

public function getNama(){
return $this->nama;
}
}
?>

nah, bagaimana?? sudah lebih OOP banget kan?? hehehe.. oh iya, materi terakhir yaitu
turunan.. udah akrab banget lah yah dengan yang namanya inheritance ini.

include ("member.php");

class administrator extends member{

private var $thread_id;
public __construct($adminName, $idThread){
$this->nama = $admin;
$this->thread_id = $idThread
}
}
?>

disini kita misalkan administratro adalah kelas turunan dari member yang mempunyai hak atas thread tertentu di sebuah forum. Kita bisa menurunkannya dari kelas member dan menambahkan satu atribut lagi dan mengoverride konstruktor member.

Sekian dulu deh.. cape ngetik banyak - banyak.. hehe

Selamat mencoba.. ^_^

1 komentar:

proletar mengatakan...

konstruktor PHP 4 ama 5 beda lho. :) konsep objek nya kayanya ga lengkap tanpa penjelasan data member scope (private , protected, public)