Dalam merancang suatu class, kita pasti merancang bagaimana class tersebut dari luar, propertu apa saja yang dapat dibaca dari luar, property apa saja yang dapat diset dari luar. Kita mungkin juga merancang variabel-variabel yang hanya dapat diakses dari class itu sendiri, atau kita juga mungkin merancang method yang hanya dapat diakses oleh class-class turunannya. Inilah yang mendasari visibilty dalam class PHP sewaktu kita belajar OOP yang merupakan kepanjangan dari Object Oriented Programming.
Dalam PHP kita dapat mendefinisikan variabel dan method dalam tiga tingkatan visibility yaitu
- public
Dari istilahnya public, property ini diakses dari luar. Property yang dideklarakasikan sebagai public dapat diakses dari luar. Kita dapat mendisain suatu property data diset saja, atau dapat dibaca saja, atau dapat dibaca dan juga ditulis. Kita harus cermat menentukan suatu variable sebagai public karena dapat dibaca dan diubah dari luar. Jika variabel tersebut tidak boleh diubah secara langsung oleh program di luar class tersebut, kita tidak boleh mendeklarasikan sebagai public.
Kita juga perlu berhati-hati menentukan variable dan method yang bersifat public ini karena akan diakses oleh web developer yang lain. Jika kita sudah menentukan suatu method atau variable sebagai public dan sudah ada web developer lain yang menggunakan variable atau method tersebut, maka kita tidak bisa menghapus atau mengubah namanya karena akan mengakibatkan program teman kita akan error. Jadi sebaiknya menunggu mendeklarasikan public, karena begitu dideklarasikan sebagai public maka tidak dapat atau sulit ditarik kembali.
- protected
Deklarasi protected ini menunjukkan bahwa method atau variable hanya boleh diakses oleh kelas turunannya. Variable atau method yang dideklarasikan dengan protected tidak dapat diakses oleh instance dari object tersebut.
- private
Dari istilahnya kita dapat memahami bahwa property atau member yang dideklarasikan private hanya dapat diakses dari class tersebut. Jadi baik variable atau method yang dideklarasikan sebagai private tidak bisa diakses dari luar. Method dan variable yang bersifat private biasanya berkaitan dengan proses-proses detail yang tidak perlu diketahui oleh class lain. Pendeklarasian private juga member kesempatan bagi developer class tersebut untuk menyesuakan nama variable dan method yang bersifat private ini tidak tergantung kepada developer lain karena tidak ada yang mengakses variable dan method yang bersifat private ini.
Informasi lebih lanjut silahkan mengunjungi http://php.net/manual/en/language.oop5.visibility.php .
Kunjungi www.proweb.co.id untuk menambah wawasan anda.