Tutorial PHP OOP Part 3 : Membuat dan Mengakses Properti
Properti merupakan sebuah kondisi yang menyertai sebuah object. Misalnya
kita membuat object berupa mobil, maka properti adalah informasi atau
parameter yang menyertai mobil tersebut seperti merk, tahun pembuatan,
kapasitas mesin, bahan bakar dan lan-lain.
Properti berupa variabel yang dibuat didalam class dan nantinya menjadi
akses untuk program dalam menentukan dan mengambil nilai properti sebuah
object. Seluruh hal yang berlaku pada variabel PHP seperti tipe data
dan operator, berlaku juga untuk properti.
Membuat Properti
Properti harus dibuat didalam class., tidak bisa dibuat diluar class.
Untuk membuat properti secara sederhana kita menggunakan perintah var
diikuti dengan nama variabel dengan tanda $ (dollar). Meskipun sebuah
variabel ditulis didalam class namun tidak diawali dengan var, maka ia
tidak dianggap sebagai properti, melainkan hanya dianggap sebagai
variabel biasa.
<?php
class Nama_class {
var $nama_properti;
}
?>
Dengan cara diatas, secara otomatis kita membuat properti dengan akses public. Cara ini sama dengan cara berikut :
<?php
class Nama_class {
public $nama_properti;
}
?>
Lalu bagaimana jika akan membuat properti yang hanya bisa diakses
didalam class atau didalam class dan turunannya? Solusinya kita bisa
menggunakan teknik enkapsulasi dengan atribut private atau protected
seberti cara berikut :
<?php
class Nama_class {
public $nama_properti1;
private $nama_properti2;
protected $nama_properti3;
}
?>
Pada contoh diatas, $nama_properti2 dibuat private sehingga hanya bisa
diakses dari dalam class saja. Sedangkan $nama_properti3 dibuat
protected artinya bisa diakses dari dalam class dan turunannya saja.
Pengertian diakses disini adalah bisa disetting nilainya atau juga bisa
diambil nilainya.
Mengenai detail Enkapsulasi insyaAllah akan ditulis pada artikel tersendiri.
Menyetting Nilai Sebuah Properti
Menyetting properti bisa dilakukan dari dalam dan dari luar class
tergantung hak aksesnya, apakah public, private atau protected.
Untuk menyetting properti dari dalam class dan turunannya, kita harus
menggunakan function. Kemudian didalam function tersebut menggunakan
variabel $this diikuti dengan tanda "->" lalu nama properti kemudian
tanda "=" (sama dengan) baru kemudian nilai atau data yang akan diset
pada properti tersebut.
<?php
class Mobil {
public $merk;
private $harga;
public function set_nilai() {
$this->merk = "Toyota";
$this->harga = "100.000.000";
}
}
?>
Note : variabel $this merupakan variabel bawaan PHP (built-in) yang
digunakan untuk mengakses properti dan method dari dalam class.
Untuk menyetting nilai properti dari luar class (hanya untuk properti
bertipe public), kita memanggil nama object dulu diikuti dengan tanda
"->" lalu nama properti kemudian tanda "=" (sama dengan) baru
kemudian nilai atau data yang akan diset pada properti tersebut.
<?php
class Mobil {
public $merk;
}
$mobil = new Mobil();
$mobil->merk = "Toyota";
?>
Untuk menyetting properti bertipe private dari luar class, kita harus
menggunakan bantuan sebuah method yang menyetting nilai properti didalam
class, seperti cara berikut ini :
<?php
class Mobil {
private $harga;
public function set_harga($value) {
$this->harga = $value;
}
}
$mobil = new Mobil();
$mobil->set_harga("100.000.000");
?>
Membaca Nilai Sebuah Properti
Sama seperti saat menyetting, untuk membaca nilai sebuah properti kita juga memperhatikan hak aksesnya.
Untuk membaca nilai properti dari dalam class kita harus menggunakan
function. Kemudian kita gunakan variabel $this dan tanda "->" sama
seperti saat menyetting.
<?php
class Mobil {
public $merk;
private $harga;
public function tampil() {
//menyetting nilai properti
$this->merk = "Toyota";
$this->harga = "100.000.000";
//mengambil nilai properti
echo "Merk = ".$this->merk."<br/>";
echo "Harga = ".$this->harga;
}
}
?>
Untuk membaca nilai properti bertipe public dari luar class kita
menggunakan nama object dengan tanda tanda "->" sama seperti saat
menyetting.
<?php
class Mobil {
public $merk;
}
//membuat object
$mobil = new Mobil();
//menyetting nilai properti
$mobil->merk = "Toyota";
//membaca dan menampilkan nilai properti
echo "Merk = ".$mobil->merk;
?>
Untuk membaca nilai properti bertipe private dari luar class kita juga
harus menggunakan bantuan method, seperti pada contoh berikut ini :
<?php
class Mobil {
private $harga;
public function set_harga($value) {
$this->harga = $value;
}
public function baca_harga() {
return $this->harga;
}
}
//membuat object
$mobil = new Mobil();
//menyetting properti harga
$mobil->set_harga("100.000.000");
//membaca dan menampilkan properti harga
echo "Harga = ".$mobil->baca_harga();
?>
Referensi :