Inheritance Enkapsulasi PEMROGRAMAN BERORIENTASI OBJEK

public nama; atribut properti nama manusia method constructor untuk kelas manusia public function __construct arg { this­nama = arg; } method menyapa pada kelas manusia public function menyapa { echo this­nama . bilang Halo; } } ? Dapat diketahui bahwa pada method constructor kelas manusia menerima sebuah argumen untuk disimpan dalam atribut nama. Maka untuk menginstansiasi kelas manusia menjadi sebuah objek, sekaligus memberikan nilai terhadap atribut nama yang diberikan melalui method constructor dengan cara: ?php filename: manusia.construct.php menyertakan class manusia pada kode PHP ini include manusia.class.construct.php; instansiasi dengan argumen untuk method constructor susan = new manusiaSusan; susan­menyapa; output: Susan bilang Halo joko = new manusiaJoko; joko­menyapa; output: Joko bilang Halo ? Dengan method constructor, hal-hal yang sifatnya perlu dilakukan secara otomatis ketika sebuah kelas diinstansiasi menjadi objek dapat dimasukkan pada method constructor. Sehingga pada contoh tersebut di atas, pemberian nilai terhadap properti nama dapat disingkat dengan dilakukan secara langsung melalui method constructor pada saat instansiasi objek.

2.3 Inheritance

Suatu definisi kelas dapat mewarisi definisi kelas lainnya parent class melalui keyword extends . Contoh syntax dari pewarisan pada bahasa pemrograman PHP adalah sebagai berikut: ?php filename inheritance.php class ChildClass extends ParentClass { definisi method dan properti kelas } ? Halaman 103 Dengan inheritance pewarisan, kelas yang mewarisi secara otomatis memiliki seluruh member method dan properti dari kelas parent-nya. Method dan properti yang diwarisi memiliki fungsional yang sama dengan parent-nya. Sebagai tambahan, kelas child dapat menambahkan properti dan method diluar dari method dan properti yang dimiliki oleh parent class. Contoh penerapan inheritance pada bahasa pemrograman php adalah sebagai berikut: ?php file inheritance.manusia.php menyertakan file manusia.class.php tempat definisi kelas manusia berada include manusia.class.php; definisi kelas mahasiswa yang mewarisi kelas manusia class mahasiswa extends manusia { definisi constructor public function __constructnama{ this­nama = nama; } properti yang dimiliki oleh kelas manusia public tugas = belajar; } instansiasi kelas mahasiswa susan = new mahasiswaSusan; echo susan­menyapa . ketika sedang . susan­tugas; Output: Susan bilang Halo ketika sedang belajar ? Dari contoh tersebut di atas dapat diketahui bahwa properti nama diwarisi dari kelas manusia dan dapat digunakan langsung oleh kelas yang mewarisinya mahasiswa . Selain itu, kelas mahasiswa juga memiliki properti tugas yang tidak dimiliki oleh kelas parent, yaitu kelas manusia .

2.4 Enkapsulasi

Enkapsulasi merupakan suatu metode untuk menyembunyikan representasi internal sebuah objek dari luar, sehingga tidak dapat digunakan secara langsung dari luar. Mekanisme enkapsulasi dengan metode abstraksi juga merupakan salah satu cara untuk melindungi properti dari luar. Berikut ini adalah contoh enkapsulasi dengan menggunakan subclass dengan bahasa pemrograman PHP: ?php filename: enkapulasi.php class pakaian { public warna = merah; properti yang dienkapsulasi } Halaman 104 class manusia { private properti baju yang menjadi objek kelas pakaian private baju; public function __construct { this­baju = new pakaian; this­baju­warna = biru; } public function warnaBaju { return this­baju­warna; } } instansiasi kelas manusia susan = new manusia; mengakses properti warna dari method warnaBaju echo Susan memakai baju berwarna . susan­warnaBaju; Dari kode PHP tersebut di atas properti warna pada kelas pakaian dienkapsulasi dengan menggunakan method warnaBaju pada kelas manusia. Sehingga properti warna pada kelas pakaian hanya bisa dibaca nilainya melalui method warnaBaju , namun tidak dapat diganti nilainya dari instance objek kelas manusia , dalam hal ini objek dari kelas manusia adalah susan . Dalam contoh ini, properti warna pada kelas pakaian dienkapsulasi menjadi read-only melalui public method warnaBaju pada kelas manusia .

2.4 Abstract dan Interface