Home » PHP » OOP PHP : Kelas dan Objek – Kode dan Contohnya

OOP PHP : Kelas dan Objek – Kode dan Contohnya

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Kelas adalah template untuk objek dan objek adalah turunan kelas.

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

<?php
class Fruit {
  // code goes here...
}
?>

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:

  1. 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");
?>
  1. 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)
  */

You may also like