Home » PHP » OOP PHP : Traits atau Sifat – Kode dan Contohnya

OOP PHP : Traits atau Sifat – Kode dan Contohnya

by Hanifah Nurbaeti
by Hanifah Nurbaeti

PHP – Pengertian Traits

PHP hanya mendukung pewarisan tunggal: kelas anak hanya dapat mewarisi dari satu orang tua tunggal.

Jadi, bagaimana jika sebuah kelas perlu mewarisi beberapa perilaku? Ciri-ciri OOP memecahkan masalah ini.

Traits digunakan untuk mendeklarasikan metode yang dapat digunakan di banyak kelas. Sifat dapat memiliki metode dan metode abstrak yang dapat digunakan di banyak kelas dan metode dapat memiliki pengubah akses apa pun (public, private atau protected).

Sifat dideklarasikan dengan kata kunci traits:

Sintaks

<?php
trait TraitName {
  // some code...
}
?>

Untuk menggunakan sifat di kelas, gunakan kata kunci use:

Sintaks

<?php
class MyClass {
  use TraitName;
}
?>

Mari kita lihat contohnya:

Contoh :

<?php
trait message1 {
public function msg1() {
    echo "OOP Menyenangkan! ";
  }
}

class Welcome {
  use message1;
}

$obj = new Welcome();
$obj->msg1();
?>
/*Output
OOP Menyenangkan!
*/

Penjelasan Kode

Di sini, kita mendeklarasikan satu ciri: message1. Kemudian, kita buat kelas: Welcome. Kelas menggunakan traits tersebut dan semua metode dalam sifat tersebut akan tersedia di kelas.

Jika kelas lain perlu menggunakan fungsi msg1(), cukup gunakan sifat message1 di kelas tersebut. Hal ini mengurangi duplikasi kode, karena tidak perlu mendeklarasikan ulang metode yang sama berulang kali.

PHP – Menggunakan Beberapa Sifat

Mari kita lihat contoh lain:

Contoh :

<?php
trait message1 {
  public function msg1() {
    echo "OOP Menyenangkan! ";
  }
}

trait message2 {
  public function msg2() {
    echo "OOP mengurangi duplikasi kode!";
  }
}

class Welcome {
  use message1;
}

class Welcome2 {
  use message1, message2;
}

$obj = new Welcome();
$obj->msg1();
echo "<br>";

$obj2 = new Welcome2();
$obj2->msg1();
$obj2->msg2();
?>
/*Output
OOP Menyenangkan!
OOP Menyenangkan! OOP mengurangi duplikasi kode!
*/

Penjelasan Kode

Di sini, kita akan mendeklarasikan dua ciri: pesan1 dan pesan2. Kemudian, kami membuat dua kelas: Welcome dan Welcome2. Kelas pertama (Welcome) menggunakan ciri message1 dan kelas kedua (Welcome2) menggunakan ciri message1 dan message2 (beberapa ciri dipisahkan dengan koma).

You may also like