OOP - Constructor Function

OOP - Apa itu constructor function

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');

Posting Komentar

0 Komentar