180 likes | 348 Views
Visibilitas Member. Perancangan dan pemrograman web Pertemuan 17. Sampai dimana kemaren ya ?. Sampai sini : Method dengan Objek Lebih dari Satu. $objOrang = new orang() ; $ objOrang -> nama =“Romi Nurdin”; $objOrang - > umur =“16”; $objOrang - > berbicara() ; echo “<br />”;
E N D
Visibilitas Member Perancangan dan pemrograman web Pertemuan 17
Sampai sini : Method dengan Objek Lebih dari Satu $objOrang = new orang(); $objOrang->nama=“Romi Nurdin”; $objOrang->umur=“16”; $objOrang->berbicara(); echo “<br/>”; $objOrang->statusUsia(); echo “<br/><br/>”; $objOrang2 = new orang(); $objOrang2->nama=“Mesut Ozil”; $objOrang2->umur=“25”; $objOrang2->berbicara(); echo “<br/>”; $objOrang2->statusUsia(); echo “<br/><br/>”; ?>
Sampai sini : Keluaran Yang Dihasilkan Hallo, nama saya Romi Nurdin Di bawah Umur Hallo, nama saya Mesut Ozil Dewasa
VISIBILITAS MEMBER Merupakan salah satu kelebihan dari OOP untuk mengatur aksesibilitas dari member (baik atribut ataupun method). Pengaturan aksesibilitas : • Apakah member dapat diakses secara global semua ? • Apakah member hanya dapat diakses oleh Class nya sendiri ? • Apakah member hanya dapat diakses oleh Class nya sendiri dan Class turunannya ?
VISIBILITAS MEMBER Pengaturan aksesibilitas : • Apakah member dapat diakses secara global semua ? • Apakah member hanya dapat diakses oleh Class nya sendiri ? • Apakah member hanya dapat diakses oleh Class nya sendiri dan Class turunannya ? Public Private Protected
ILUSTRASI : PUBLIC • Uang adalah member yang dimiliki oleh Pak Samsul • Dan uang dibagikan gratis sehingga siapa saja bisa menggunakan-nya • Artinya Member Class Pak Samsul sifatnya PUBLIC Pak Samsul
ILUSTRASI : PRIVATE No Way !!! • Uang adalah member yang dimiliki oleh Pak Samsul • Uang hanya bisa digunakan oleh Pak Samsul, kata Pak Samsul, “Sorry ya ... Ini Cuma buat GUE !” • Artinya Member Class Pak Samsul sifatnya PRIVATE Pak Samsul
ILUSTRASI : PROTECTED Pak Samsul • Uang adalah member yang dimiliki oleh Pak Samsul • Uang hanya bisa digunakan oleh Pak Samsul dan Anak-anak Pak Samsul • Artinya Member Class Pak Samsul sifatnya PROTECTED Anak-Anak Pak Samsul
PUBLIC $objMhs = new mahasiswa(); $objMhs->nim=“131089”; $objMhs->nama=“Ahmad Farisi”; $objMhs->nilai=89; $objMhs->prosesNilai(); ?> Visibilitas PUBLIC pada atribut <?php class mahasiswa{ public $nim; public $nama; public $nilai; public function prosesNilai() { echo “Mahasiswa dengan NIM $this->nim”; echo “<br/>”; echo “dengan Nama $this->nama”; echo “<br/>”; echo “Mendapatkan Nilai $this->nilai”; } } Visibilitas PUBLIC pada method PERHATIKAN Inisialisasi atribut dan menjalankan method dilakukan di luar class mahasiswa
Keluaran Yang Dihasilkan Mahasiswa dengan Nim 131089 Dengan Nama Ahmad Farisi Mendapatkan Nilai 89
PRIVATE $objMhs = new mahasiswa(); $objMhs->nim=“131089”; $objMhs->nama=“Ahmad Farisi”; $objMhs->nilai=89; $objMhs->prosesNilai(); ?> Ganti Public tadi dengan Visibilitas PRIVATE pada atribut <?php class mahasiswa{ private $nim; private $nama; private $nilai; public function prosesNilai() { echo “Mahasiswa dengan NIM $this->nim”; echo “<br/>”; echo “dengan Nama $this->nama”; echo “<br/>”; echo “Mendapatkan Nilai $this->nilai”; } } Visibilitas PUBLIC pada method biarkan saja PERHATIKAN Inisialisasi atribut dan menjalankan method dilakukan di luar class mahasiswa
Keluaran Yang Dihasilkan Fatal error: cannot access private property mahasiswa::$nim in C:\Uniserver\www\phpoop\visPrivate.php on line 17 MENGAPA ??? Mengapa ini Terjadi ? Ada apa ? Siapa yang salah ?
TAMBAHKAN SATU METHOD : isiNilai publicfunction isiNilai($varNim, $varNama, $varNilai) { $this->nim = $varNim; $this->nama = $varNama; $this->nilai = $varNilai; }
PRIVATE $objMhs = new mahasiswa(); $objMhs->isiNilai(“131089”,“Ahmad Farisi”,89); $objMhs->prosesNilai(); ?> <?php class mahasiswa{ private $nim; private $nama; private $nilai; publicfunction isiNilai($varNim, $varNama, $varNilai) { $this->nim = $varNim; $this->nama = $varNama; $this->nilai = $varNilai; } public function prosesNilai() { echo “Mahasiswa dengan NIM $this->nim<br/>”; echo “dengan Nama $this->nama<br/>”; echo “Mendapatkan Nilai $this->nilai”; } } PERHATIKAN Method isiNilai( ) dan prosesNilai( ) bersifat public, sehingga bisa dipanggil di luar kelas
Keluaran Yang Dihasilkan Mahasiswa dengan NIM 131089dengan Nama Ahmad FarisiMendapatkan Nilai 89
PROTECTED Penggunaan Protected akan terjawab di pertemuan tentang “Penerapan Enkapsulasi, Pewarisan, dan Polimorfisme”. So, don’t go anywhere and stay tune !