Kelas adalah template untuk objek dan objek adalah turunan kelas.
Section Artikel
Kasus OOP
Mari kita asumsikan kita memiliki kelas bernama Buah. Buah dapat memiliki properti seperti nama, warna, bobot, dll. Kita dapat mendefinisikan variabel seperti $nama, $warna dan $bobot untuk menyimpan nilai properti ini.
Ketika objek individual (apel, pisang, dll.) Dibuat, mereka mewarisi semua properti dan perilaku dari kelas, tetapi setiap objek akan memiliki nilai yang berbeda untuk properti tersebut.
Tentukan Kelas
Kelas didefinisikan dengan menggunakan kata kunci class
, diikuti dengan nama kelas dan sepasang tanda kurung kurawal ({}). Semua properti dan metodenya masuk ke dalam kurung kurawal:
Sintaks
Di bawah ini kita akan mendeklarasikan class bernama Fruit yang terdiri dari dua properti ($name dan $color) dan dua metode set_name() dan get_name() untuk menyetel dan mendapatkan properti $name:
Contoh :
<?php class Fruit { // Properties public $name; public $color; // Methods function set_name($name) { $this->name = $name; } function get_name() { return $this->name; } } ?>
Catatan: Di class, variabel disebut properti dan fungsi disebut metode!
Tentukan Objek
Class bukanlah apa-apa tanpa objek! Kita dapat membuat banyak objek dari satu kelas. Setiap objek memiliki semua properti dan metode yang ditentukan di kelas, tetapi mereka akan memiliki nilai properti yang berbeda.
Objek kelas dibuat menggunakan kata kunci baru.
Pada contoh di bawah ini, $apple dan $banana adalah instance dari class Fruit:
Contoh :
<?php class Fruit { // Properties public $name; public $color; // Methods function set_name($name) { $this->name = $name; } function get_name() { return $this->name; } } $apple = new Fruit(); $banana = new Fruit(); $apple->set_name('Apple'); $banana->set_name('Banana'); echo $apple->get_name(); echo "<br>"; echo $banana->get_name(); ?> /*Output Apple Banana */
Dalam contoh di bawah ini, kita akan tambahkan dua metode lagi ke class Fruit untuk menyetel dan mendapatkan properti $color:
Contoh :
<?php class Fruit { // Properties public $name; public $color; // Methods function set_name($name) { $this->name = $name; } function get_name() { return $this->name; } function set_color($color) { $this->color = $color; } function get_color() { return $this->color; } } $apple = new Fruit(); $apple->set_name('Apple'); $apple->set_color('Red'); echo "Nama: " . $apple->get_name(); echo "<br>"; echo "Warna: " . $apple->get_color(); ?> /*Output Nama: Apple Warna: Red */
PHP – Kata Kunci $this
Kata kunci $this
merujuk ke objek saat ini dan hanya tersedia di dalam metode.
Lihat contoh berikut:
Contoh :
<?php class Fruit { public $name; } $apple = new Fruit(); ?>
Jadi, di mana kita bisa mengubah nilai properti $name? Ada dua cara:
- Di dalam kelas (dengan menambahkan metode set_name() dan gunakan $this):
Contoh :
<?php class Fruit { public $name; function set_name($name) { $this->name = $name; } } $apple = new Fruit(); $apple->set_name("Apple"); ?>
- Di luar kelas (dengan langsung mengubah nilai properti):
Contoh :
<?php class Fruit { public $name; } $apple = new Fruit(); $apple->name = "Apple"; ?>
PHP – instanceof
Kita bisa menggunakan kata kunci instanceof
untuk memeriksa apakah suatu objek termasuk dalam kelas tertentu:
Contoh :
<?php $apple = new Fruit(); var_dump($apple instanceof Fruit); ?> /*Output bool(true) */