Langsung ke konten utama

Contoh Decorator Pattern di PHP

Decorator Pattern dimaksudkan untuk mengubah atau menambah perilaku/fungsionalitas sebuah object/instance dari sebuah class tanpa mengubah perilaku object-object dari class yang sama.


Berikut ini adalah contoh penerapan decorator pattern dengan menggunakan bahasa pemprograman PHP

class ParentClass {
  public function __construct(){
    // your code
  }
  public function functionNumberOne(){
    // your code
  }
}

class DecoratorClass extends ParentClass {
  private $decorated;
  public function __construct(ParentClass $objectToGetDecorated){
    parent::construct();
    $this->decorated = $objectToGetDecorated;
    // your code
  }
  public function functionNumberOne(){
    // if you want to call the original method then call it :)
    $this->decorated->functionNumberOne();
    // your code
  }
  public function newAddedFunction(){
    // your code
  }
}

$a = new ParentClass;
$b = new ParentClass;
$bDecorated = new DecoratorClass($b);

Perbedaan dengan inheritance/ pewarisan:
  • Pewarisan mengubah class
  • Decorator mengubah object/instance

Daftar Pustaka
Kontributor Wikipedia. 2013. Decorator pattern. (Online) Wikipedia, The Free Encyclopedia. http://en.wikipedia.org/w/index.php?title=Decorator_pattern&oldid=586454896 . diakses 21 Desember 2013 00:06

Komentar

Postingan populer dari blog ini

Contoh Pemprograman List, Animasi, dan Suara dengan Visual Basic - VB6

Sebenarnya saya agak malu nge- posting ini, karena low quality (✗_✗) banget. Tapi karena saya melihat ada beberapa teman yang kesulitan dalam mengerjakan tugas pemprograman Visual Basic (VB6) yang seperti ini, maka saya tebel-tebelin muka untuk posting disini sebagai contoh, siapa tahu bisa berguna. Tampilan Program Pemilihan objek dengan menggunakan list Pemilihan objek dengan meng-klik gambar binatang Latar Belakang Pembuatan Aplikasi ini dibuat sebagai pelaksaan dari tugas yang diberikan pada matakuliah Bahasa Pemprograman Visual 1 (Visual Basic 6) yang diajar oleh Bapak H. M. Amrin Lubis, Ir, M.Sc untuk mendemonstrasikan penggunaan List , Animasi dan Suara . Untuk lebih jelasnya, berikut ini adalah pernyataan tugas tersebut: Wajib: Buat sebuah daftar nama-nama hewan dalam list atau combo minimal 10 nama hewan. Ketik di- click salah satu nama hewan tersebut maka tampil gambarnya. Misal: di-klik kelinci tampil nama kelinci dan bahasa inggrisnya. Anjuran...

Memasang Android 4.4 KitKat di Samsung Galaxy W (Wonder) GT-I8150

Membuat backup Singkronisasikan handphone (contact, dll) Saya membuat backup SMS dengan SMS To Text, dan riwayat panggilan dengan Call Logs Backup and Restore Download Download Android SDK Tools Windows: http://dl.google.com/android/installer_r22.3-windows.exe Linux: http://dl.google.com/android/android-sdk_r22.3-linux.tgz Android SDK Tools juga terdapat dalam pake Android SDK Windows 32 bit: http://dl.google.com/android/adt/adt-bundle-windows-x86-20131030.zip Linux 32 bit: http://dl.google.com/android/adt/adt-bundle-linux-x86-20131030.zip Download ClockworkMod (CWM) Recovery Versi minimal untuk memasang CM 11 adalah versi 6.0.4.4. Jika menggunakan versi yang dibawah/sebelum itu, akan muncul pesan kesalahan "set_metadata_recursive: some changes failed" pada saat memasang CM nantinya. Download versi versi 6.0.4.5 di http://goo.im/devs/arco/ancora/cwm/recovery-clockwork-6.0.4.5-ancora.zip Download CyanogenMod (CM) 11 http://goo.im/devs/arco/ancor...

Promo Konsultasi Tugas Kewirausahaan

Konsultasi/ Mentoring Penyelesaian Tugas Kewirausahaan (Hanya menyediakan jasa konsultasi/ mentoring BUKAN jasa untuk membuatkan) Murah Biaya: Rp 1.000 / orang + snack / pertemuan Persyaratan: Masing-masing peserta menggunakan komputer/ laptop yang terhubung dengan internet Tempat bebas, waktu fleksibel Telpon : Tri 08984209407 , Simpati 081268432208 E-mail : indraginanjar@gmail.com indraginanjar.fb@facebook.com Facebook : http://www.facebook.com/indraginanjar.fb Google+ : https://plus.google.com/113794966594253699817 Atau... kasih komentar di bawah ini. Penawaran terbatas, hanya sampai Sabtu, 24 Februari 2013 Buruaaan! . . . terlambat = Gejala tugas ga selesai