Home > PHP > OOP in PHP

OOP in PHP

Class dan Object

Untuk dapat memahami class dan object, kita akan memvisualisasikan aplikasi address book. Dalam sebuah address book, komponen utama yang terlibat adalah kontak. Komponen kontak disebut class.

Class adalah definisi (cara menggambarkan) suatu benda. Object adalah benda nyata yang ada dalam session pelatihan, diantaranya:

Kontak : Charlie, Budi, Ani

Hubungan tersebut dapat dinyatakan dalam istilah teknis sebagai berikut:

Object merupakan instance dari class. Class didefinisikan dengan kode sebagai berikut :

<?

class Contact{}

?>

object dari class Contact dibuat dengan kode sebagai berikut :

$ani = new Contact();

$budi = new Contact();

$charlie = new Contact();

Method dan Properties

Lebih mendetail tentang class Contact. Semua contact, baik Ani, Budi, maupun
Charlie, mempunyai karakteristik yang sama. Mereka semua memiliki nama lengkap,
nomer telepon, dan alamat. Karakteristik ini dikenal dengan istilah properties.
Properties diterjemahkan ke dalam kode menjadi :

<? class Contact{

var $namaLengkap;

var $telp;

var $alamat;

}

?>

Tiap object memiliki nilai yang berbeda-beda untuk masing-masing
properties. Hal ini juga sering dikatakan : object memiliki state yang
berbeda satu dengan lainnya. Sampel kode yang menggambarkan
kondisi tersebut adalah :

$ani = new Contact();

$ani->namaLengkap = “Ani Malia”;

$ani->telp = 528;

$ani->alamat = “Ragunan”;

$budi = new Contact();

$budi->namaLengkap = “Budi Man”;

$budi->telp = 456;

$budi->alamat = “Bandung”;

$charlie = new Contact();

$charlie->namaLengkap = “Charlie Charmless”;

$charlie ->telp = 123;

$charlie ->alamat = “USA”;

selain menyimpan karakteristik, class juga dapat melakukan aktivitas. Ini disebut dengan method. Misalnya, class Contact dapat melakukan aktivitas memanggil contact lain. Konsep ini diterjemahkan menjadi kode sebagai berikut :

<?

class Contact{

var $namaLengkap;

var $telp;

var $alamat;

function panggil($contact){

echo(“Memanggil kontak ”+$contact->namaLengkap);

}

}

?>

kode tersebut dieksekusi sebagai berikut :

$ani = new Contact();

$ani->namaLengkap = “Ani Malia”;

$budi = new Contact();

$budi->panggil($ani);

dan menghasilkan output sebagai berikut :

Memanggil Ani Malia

Inheritance

Inheritance merupakan suatu konsep di OOP dimana kita dapat menurunkan suatu method di sebuah class kepada class anaknya, sehingga kedua class tersebut dapat mempunyai method yang sama tanpa mendeklarasikan ulang method tersebut di kelas anaknya ( kelas yang diturunkan ).

Contoh :

<?

class induk {
var $induk = “induk”;
function induk () { // ini merupakan konstruktor
$this->induk;
}
}
class anak extends induk{
function anak () {
print $this->induk;
}
}
$anak = new anak ();
?>

Hasil dari output : induk.

Penjelasan :
Pada class induk, divariabelkan kata “induk”. Lalu kata induk tersebut diwariskan pada class anak. Sehingga pada saat kita mencetak class anak, dapat dipanggil variabel induk tadi dari class induk.

Overriding

Terkadang dalam membuat program, kita bingung memberikan nama variabel.Pada pemrograman prosedural, kita tidak dapat menggunakan variabel yang sama berulang-ulang. Tetapi pada Konsep OOP, kita dapat menggunakan variabel yang sama secara berulang-ulang tetapi operasi yang dilakukan oleh metode tersebut berbeda. Inilah yang dinamakan Overriding.

Untuk lebih jelasnya, mari kita lihat contoh sederhana dari konsep overriding di bawah ini :

<?

class induk {
var $kata = “Cetak induk”;
function kata () {
print $this->kata;
}
}
class anak extends induk {
var $kata = “Cetak Anak”;
function kata () {
print $this->kata;
}
}
$cetak = new anak ();
$cetak->kata();

?>

Hasil dari output : cetak anak.

Mengapa yang tertampil di layar adalah kata “cetak anak” padahal seharusnya pewarisan kelas induk mengharuskan “cetak induk” ? Karena pada class anak terjadi overriding pada method kata. Sehingga pada saat dijalankan, yang tertampil di layar bukanlah cetak induk tetapi cetak anak

Categories: PHP
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: