OOP PHP - Constructor Function adalah fungsi spesial yang akan dipanggil secara otomatis ketika kita membuat suatu object dari class yang ada fungsi konstruktor didalamnya.
Penulisan fungsi konstruktor seperti berikut.
public function __construct() {
// ...
}
Perhatikan! fungsi constructor dibuat dengan dua garis bawah (__) diawal penulisan, dan kita bisa menambahkan banyak argumen didalamnya.
Berikut adalah kode yang sudah pernah kita buat pada artikel sebelumnya.
<?php
class Buah {
// property
public $nama;
public $warna;
// method
function setNama($nama) {
$this->nama = $nama;
}
function getNama() {
return $this->nama;
}
function setWarna($warna) {
$this->warna = $warna;
}
function getWarna() {
return $this->warna;
}
}
$apel = new Buah;
$pisang = new Buah;
// set nilai pada property
$apel->setNama('Apel');
$apel->setWarna('Merah');
$pisang->setNama('Pisang');
$pisang->setWarna('Kuning');
// tampilkan nilai property
echo $apel->getNama() . ' warna ' . $apel->getWarna();
echo '
';
echo $pisang->getNama() . ' warna ' . $pisang->getWarna();
Jika kita menggunakan fungsi konstruktor maka akan menjadi seperti berikut.
<?php
class Buah {
// property
public $nama;
public $warna;
// method
function __construct($nama, $warna) {
$this->nama = $nama;
$this->warna = $warna;
}
function getNama() {
return $this->nama;
}
function getWarna() {
return $this->warna;
}
}
$apel = new Buah('Apel', 'Merah');
$pisang = new Buah('Pisang', 'Kuning');
// tampilkan nilai property
echo $apel->getNama() . ' warna ' . $apel->getWarna();
echo '
';
echo $pisang->getNama() . ' warna ' . $pisang->getWarna();
Kita melihat dalam contoh diatas, Setelah kita membuat fungsi konstruktor didalam
class Buah
, Method setNama()
dan setWarna()
sudah tidak diperlukan lagi.Kita bisa langsung mengisi nilai untuk Variable nama dan warna saat object pertama kali kita buat. Yaitu pada baris kode berikut.
$apel = new Buah('Apel', 'Merah');
$pisang = new Buah('Pisang', 'Kuning');
0 Komentar