Apa sih Object Oriented Programming itu? OOP mudahnya adalah membangun sebuah aplikasi dengan menggunakan object (objek). Mari kita analogikan sebuah aplikasi sebagai sebuah Mobil. Mobil dibangun oleh komponen-komponen pendukungnya (objek) seperti ban, mesin, rangka mobil, setir dan komponen-komponen lainnya. Setiap komponen mempunyai fungsinya masing-masing dan saling mendukung satu sama lain, agar sebuah mobil dapat berjalan dengan baik. Hal seperti ini kemudian kita implementasikan dalam pembangunan aplikasi dimana kita membangun aplikasi dengan menggunakan objek-objek yang telah kita buat sebelumnya. Pengenalan lebih lanjut mengenai konsep OOP dapat dilihat di sini.
Untuk membuat sebuah objek maka kita harus mendeklarasikan terlebih dahulu Blue-Print atau prototype dari object tersebut. Prototype dari sebuah objek dalam terminologi pemrograman disebut class (kelas). Di bawah ini adalah contoh sebuah deklarasi kelas dengan sebuah variabel dan sebuah metode.
<?php
class kelasKucing
{
var nama_kucing = '';
// metode untuk memberikan nama pada kucing
function setNamaKucing($isi_nama_kucing)
{
$this->nama_kucing = $isi_nama_kucing;
}
// metode untuk mengetahui nama kucing
function getNamaKucing()
{
return $this->nama_kucing;
}
}
?>
Source code di atas mendeklarasikan sebuah kelas (Blue-Print) dengan nama kelasKucing. Kelas ini nantinya akan menghasilkan sebuah objek "kucing". Salah satu metode kelas ini adalah metodeSetNamaKucing yang fungsinya adalah memberikan nama untuk objek kucing nantinya. WARNING!! Jangan samakan kelas dengan objek, objek merupakan hasil cetakan dari sebuah kelas.
Untuk membuat sebuah objek dari dari kelasKucing, maka kita harus meng-instantiate kelasKucing atau mudahnya mencetak sebuah objek dari kelasKucing. Contohnya bisa dilihat pada contoh di bawah ini :
<?php
require 'kelasKucing.inc.php';
// buat objek kucing pertama
$blacky = new kelasKucing();
// kasih nama buat kucing baru kita
$blacky->setNamaKucing('blacky');
// siapakah nama kucing yang baru kita buat
echo "Nama kucing pertama kita adalah : ".$blacky->getNamaKucing;
// buat objek kucing kedua
$kitty = new kelasKucing();
// kasih nama buat kucing baru kedua kita
$kitty->setNamaKucing('kitty');
// siapakah nama kucing yang baru kita buat
echo "Nama kucing kedua kita adalah : ".$kitty->getNamaKucing;
?>
Perbedaan paling mendasar pada OOP di PHP 5 dengan versi PHP sebelumnya adalah pada akses kepada properti dan metode dari kelas. Pada PHP 4, semua properti kelas bisa diakses secara public (dari manapun) dan semua metode kelas bisa diakses secara static tanpa harus membuat objek dari kelas terlebih dahulu. Pada PHP 5 sudah diperkenalkan modifier-modifier properti dan metode seperti halnya Java dan C++. Beberapa diantaranya yang penting adalah :
- PUBLIC
Ini artinya setiap properti atau metode bisa diakses secara langsung oleh program
lain diluar kelas.
- PROTECTED
Ini artinya setiap properti atau metode hanya bisa diakses oleh kelas itu sendiri
dan bisa diakses oleh kelas lain yang meng-inherit kelas tersebut.
- PRIVATE
Ini artinya setiap properti atau metode hanya bisa diakses oleh kelas itu
sendiri.
Contoh implementasi modifier ini bisa dilihat pada source code di bawah ini :
<?php
class kelasKucing
{
private nama_kucing = '';
private tahun_lahir_kucing;
protected usia_kucing;
public gender_kucing = '';
public function setNamaKucing($isi_nama_kucing)
{
$this->nama_kucing = $isi_nama_kucing;
}
public function setTahunLahirKucing($isi_tahun_lahir_kucing)
{
$this->tahun_lahir_kucing = $isi_tahun_lahir_kucing;
}
protected function hitungUsiaKucing()
{
if ($this->tahun_lahir_kucing AND ) {
$this->usia_kucing = (integer)date("Y") - $this->tahun_lahir_kucing
}
}
}
// buat objek kucing
$arie = new kelasKucing();
// metode setNamaKucing dan setTahunLahir bisa dipanggil
// langsung oleh objek karena sifatnya public
// kasih nama untuk si kucing
$arie->setNamaKucing("arie");
// tahun lahir si kucing
$arie->setTahunLahir(1982);
// syntax di bawah ini benar
// karena properti gender_kucing bersifat public
$arie->gender_kucing = "laki-laki"
// syntax di bawah ini salah dan akan memunculkan error
// properti usia_kucing bersifat private
$arie->usia_kucing = 20;
// properti nama_kucing bersifat private
echo "Nama kucing kita adalah : ".$arie->nama_kucing;
?>
Bisa dilihat bahwa implementasi OOP pada PHP 5 sudah sangat advanced dan pada kenyataan sudah banyak extension library ataupun fungsi-fungsi di PHP 5 yang menggunakan model OOP untuk penggunaannya. Salah satunya adalah fungsi mysql improved (mysqli) yang menyediakan style komunikasi database mysql dalam bentuk OOP. Sampai sini dulu pengenalan pada OOP PHP 5, see you on next articles with same topics.
0 Komentar