Vasibilitas member merupakan keunggulan dari OOP berfungsi untuk mengatur aksesibilitas dari member (properti dan method) vasibilitas member di bagi mnjadi 3
1. Pertama public yaitu aksesibilitas yang dapat di akses secara global semua dapat mengaksesnya
2. Kedua private yaitu aksesibilitas yang dapat di akses oleh classnya sendiri
3. Ketiga protected yaitu aksesibilitas yang dapat di akses oleh classnya sendiri dan class turunannya
1. Public
Public berarti global atau bisa di akses semuanya dalam artian method atau properti tersebut dapat di akses didalam maupun diluar class.
<?php
class siswa{
public $nis;
public $nama;
public $jurusan;
function perkenalan(){
echo " hallo nama saya $this->nama dan saya mengambil jurusan $this->kelas ";
}
}
// buat instance / objeck dari class
$objsiswa =new siswa();
// manipulasi property nama dari Class siswa
$objsiswa ->nama='andy saputra';
// manipulasi property jurusan dari Class siswa
$objsiswa ->jurusan='RPL';
/*memanggil method pada objek $objsiswa,
tanda () kurung buka setelah nama method harus ada
karena digunakan untuk meletakkan parameter untuk method tsb.
*/
$objsiswa->perkenalan();
?>
berikut tampilan dari program di atas
2. Private
metode private hanya dapat diakses di dalam kelas. Anda tidak dapat mengakses variabel pribadi atau fungsi dari class tersebut. Tapi Anda bisa menggunakan private function dan properti dalam class menggunakan $this-> objek
berikut contohnya
<?php
class siswa{
private $nis;
private $nama;
private $kelas;
public function perkenalan(){
echo " hallo nama saya $this->nama dan saya mengambil prodi $this->kelas ";
}
}
// buat instance / objeck dari class
$objsiswa =new siswa();
// manipulasi property nama dari Class siswa
$objsiswa ->nama='andy saputra';
// manipulasi property jurusan dari Class siswa
$objsiswa ->kelas='Teknik Informatika';
/*memanggil method pada objek $objsiswa,
tanda () kurung buka setelah nama method harus ada
karena digunakan untuk meletakkan parameter untuk method tsb.
*/
$objsiswa->perkenalan();
?>
berikut adalah hasil dari program diatas
keterangan dari gambar diatas, mengapa hasil program yang di atas salah? ada notif cannot access private properti siswa::$nama? karena properti di atas di $nama memiliki aksesibilitas private, sudah di jelaskan private hanya bisa di akses oleh classnya sendiri.
berikut adalah contoh penggunaan private yang benar
<?php
class siswa{
private $nis;
private $nama;
private $kelas;
function setnis($y){
$this->nis=$y;
}
function setnama($y){
$this->nama=$y;
}
function setkelas($y){
$this->kelas=$y;
}
function perkenalan(){
echo " hallo nama saya $this->nama<br>
nis saya adalah $this->nis<br>
dan saya di kelas $this->kelas ";
}
}
// buat instance / objeck dari class
$objsiswa =new siswa();
// manipulasi property nis,nama,kelas dari Class siswa
$objsiswa ->setnis('1234');
$objsiswa ->setnama('andy');
$objsiswa ->setkelas('RPL');
/*memanggil method pada objek $objmahasiswa,
tanda () kurung buka setelah nama method harus ada
karena digunakan untuk meletakkan parameter untuk method tsb.
*/
$objsiswa->perkenalan();
?>
tampilan hasil dari program yang benar
3.Protected
Protected yaitu aksesibilitas yang dapat di akses oleh classnya sendiri dan class turunannya dari class utama
Berikut adalah contoh sciptnya
<?php
class siswa{
protected $nis;
protected $nama;
protected $kelas;
public function perkenalan(){
echo " hallo nama saya $this->nama dan saya mengambil prodi $this->kelas ";
}
}
// buat instance / objeck dari class
$objsiswa =new siswa();
// manipulasi property nama dari Class siswa
$objsiswa ->nama='andy saputra';
// manipulasi property jurusan dari Class siswa
$objsiswa ->kelas='Teknik Informatika';
/*memanggil method pada objek $objsiswa,
tanda () kurung buka setelah nama method harus ada
karena digunakan untuk meletakkan parameter untuk method tsb.
*/
$objsiswa->perkenalan();
?>
tampilan program di atas
tampilan diatas menunjukan kesalahan sama dengan yang tadi di private, kalo disini cannot access protected property siswa::$nama karena sama protected hanya bisa diakses oleh classnya sendiri dan turunannya
berikut adalah contoh program yang benar
<?php
class guru{
protected $nama='adam';// ini adalah properti pada class guru yang aksesnya private dan akan di tampilkan di tampilnamaguru()
public function guruku(){
echo"class untuk guru <br/>";
}
}
class siswa extends guru {
public $namasiswa;
public function siswaku(){
echo"class untuk siswa </br>";
echo"nama saya adalah : $this->namasiswa <br/>";
}
public function tampilnamaguru(){
echo"nama guru saya : $this->nama <br/>";
}
}
$objsiswa= new siswa();
$objsiswa->namasiswa='andy saputra';
$objsiswa->guruku();
$objsiswa->tampilnamaguru();//disini tempat menampilkan nama guru dari class guru di atas
$objsiswa->siswaku();
?>
berikut adalah tampilan program di atas yang benar
sekian dari saya tentang tutorial visibilitas member dalam OOP PHP
0 Komentar