Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
2Activity
0 of .
Results for:
No results containing your search query
P. 1
PHP Artikel 18

PHP Artikel 18

Ratings: (0)|Views: 34|Likes:
Published by sman8crb

More info:

Published by: sman8crb on Apr 12, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as RTF, PDF, TXT or read online from Scribd
See more
See less

10/30/2012

pdf

text

original

 
Kelas Dan Objek Di PHP (bagian 2 – habis)Minggu lalu Anda telah belajar dasar pengertian serta penggunaan kelas dan objek. Kini kitaakan membahas beberapa hal yang lebih mendalam mengenai kelas dan objek tersebut. Yang akan kita bahas adalah constructor, parent, serta sesuatu yang ditandai dengan karakter titik dua yang ditulis duakali (::).Constructor Constructor adalah sebuah fungsi yang otomatis dipanggil apabila kita membuat sebuahinstance baru dari kelas dengan pernyataan new. Ada sedikit perbedaan deklarasi constructor pada PHP3 dan PHP 4. Perhatikan baik-baik. Pada PHP 3, sebuah fungsi akan menjadi constructor apabila fungsitersebut mempunyai nama yang sama dengan kelas, sedangkan pada PHP 4 sebuah fungsi akan menjadiconstructor apabila fungsi tersebut mempunyai nama yang sama dengan kelas
di mana fungsi tersebut dideklarasikan
. Untuk lebih jelasnya PCplus akan memberikan kutipan dari PHP manual sebagai berikut:“Constructors are functions in a class that are automatically called when you create a newinstance of a class with new. In PHP 3, a function becomes a constructor when it has the same name asthe class. In PHP 4, a function becomes a constructor, when it has the same name as the class it isdefined in – the difference is subtle, but crucial.”Agak sulit memang menerangkan perbedaan tersebut karena PCplus menggunakan PHP 4 dantidak memiliki PHP 3 sebagai pembanding. Namun contoh-contoh berikut setidaknya bisa memberikangambaran.<HTML><HEAD><TITLE> Constructors </TITLE></HEAD><BODY><?class tes {function tes() {echo "<H1> Aku kelas tes </H1>";}}$newtes = new tes;?></BODY></HTML>Pada skrip tersebut hanya terdapat deklarasi kelas tes dan deklarasi objek $newtes. Secaralogikan tidak akan ada output apapun yang diberikan pada browser, namun karena pada kelas tesdideklarasikan fungsi dengan nama sama yaitu tes(), maka fungsi tersebut akan menjadi constructor yang otomatis dipanggil apabila ada deklarasi instance baru dari kelas tersebut. Dan karena functiontes() berisi echo “<H1> Aku kelas tes </H1>”, maka pada browser akan nampak sebuah output bertuliskan “Aku kelas tes” yang diberi style heading tingkat pertama. Bandingkan dengan gambar 1.Apa yang terjadi jika kelas tersebut diinherit dan kemudian dideklarasikan instance baru dariinherit tersebut? Perhatikan contoh berikut:<HTML><HEAD>
 
<TITLE> Constructors</TITLE></HEAD><BODY><?class tes {function tes() {echo "<H1> Aku kelas tes </H1>";}}class tes_juga extends tes {function tes2() {echo "<H1> Aku kelas tes_juga </H1>";}}$newtes2 = new tes_juga;?></BODY></HTML>Pada contoh kedua ini kelas tes_juga merupakan inherit dari kelas tes. Sesuai dengan aturanconstructor di PHP 4, suatu kelas inherit yang tidak memiliki constructor akan mewarisi constructor induknya (bila induknya memiliki constructor). Oleh sebab itu pada saat dideklarasikan instance barukelas tes_juga, maka constructor kelas tes akan tetap berfungsi. Dan karena kelas tes_juga tidak memiliki constructor, maka hanya hanya constructor kelas tes yang berfungsi, sehingga output yangdiberikan oleh contoh skrip kedua ini akan sama dengan gambar 1. Namun ternyata hal ini tidak berlaku di PHP 3. Ingat, pengertian constructor di PHP 3 adalahsebuah fungsi yang mempunyai nama yang sama dengan kelas. Dalam hal ini kelas tes_juga tidak memiliki fungsi bernama tes_juga(), sehingga tidak ada constructor.Sekarang kita kembangkan lagi skrip tadi menjadi sebagai berikut:<HTML><HEAD><TITLE> Constructors</TITLE></HEAD><BODY><?class tes {function tes() {echo "<H1> Aku kelas tes </H1>";}function tes_juga() {echo "<H1> Aku kelas tes_juga </H1>";}}class tes_juga extends tes {
 
function tes2() {echo "<H1> Aku kelas tes_juga </H1>";}}$newtes2 = new tes_juga;?></BODY></HTML>Sekarang, kelas tes memiliki fungsi tes() dan tes_juga(). Jika kelas tes tersebut diinherit olehkelas tes_juga, apakah fungsi tes_juga() akan menjadi constructor di kelas tes_juga? Ternyata jawabannya adalah YA. Buktinya ada pada gambar 2, output yang dihasilkan oleh browser adalah “Akuadalah kelas tes_juga”. Kesimpulannya adalah: jika sebuah kelas menginherit kelas lain dan di dalamkelas lain tersebut terdapat fungsi dengan nama yang sama dengan kelas yang menginherit, makafungsi tersebut akan menjadi constructor di kelas yang menginheritnya.Karakter titik dua yang ditulis dua kali (::)Karakter titik dua yang ditulis dua kali (disebut juga operator ::) berguna untuk memberikanreferensi terhadap fungsi di dalam suatu kelas yang belum memiliki suatu instance. Operator :: inihanya berlaku untuk PHP 4. Berikut adalah contohnya:<HTML><HEAD><TITLE> Operator :: </TITLE></HEAD><BODY><?class induk {function cetak() {echo "<H1> Aku adalah kelas induk </H1>";}}class anak extends induk {function cetak() {echo "<H1> Aku adalah kelas anak </H1>";}}induk::cetak();$turunan = new anak;$turunan->cetak();?></BODY></HTML>Pada contoh tersebut, kelas induk belum memiliki suatu instance, namun fungsi cetak yangdimilikinya dapat direferensikan dengan menuliskan induk::cetak(). Jika sebuah kelas telah memilikisuatu instance, misalnya dalam hal ini $turunan adalah instance dari kelas anak, maka fungsi yangdidalamnya dalam direferensikan dengan menuliskan karakter ->, sehingga penulisannya adalah

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->