AYO PAHAMI!


Petunjuk:

  1. Perhatikan kode program PHP yang ditampilkan di kotak sebelah kiri.
  2. Ketik ulang seluruh baris kode tersebut ke dalam editor di sebelah kanan.
  3. Pastikan setiap baris dan struktur penulisan sesuai dengan contoh (termasuk titik koma, kurung, dll).
  4. Tekan tombol RUN di dalam editor untuk menjalankan program.
  5. Perhatikan hasil keluaran di bawah editor. Apa yang ditampilkan?
<?php
trait Perintah {
    public function jalankan() {
        echo "Menjalankan perintah.\n";
    }
}

trait Lari {
    public function jalankan() {
        echo "Berlari cepat.\n";
    }
}

class Manusia {
    use Perintah, Lari {
        Perintah::jalankan as jalankanPerintah;
        Lari::jalankan insteadof Perintah;
    }
}

$manusia = new Manusia();
$manusia->jalankan(); 
$manusia->jalankanPerintah(); 
?>

Kode di atas memperlihatkan cara menyelesaikan konflik method yang memiliki nama sama dalam dua trait di PHP, yaitu Perintah dan Lari, yang keduanya memiliki method jalankan(). Pada class Manusia, digunakan use dengan resolusi konflik melalui insteadof untuk menetapkan bahwa method jalankan() dari trait Lari yang akan digunakan, sementara method dari trait Perintah tetap dapat diakses dengan memberikan alias jalankanPerintah menggunakan kata kunci as. Akibatnya, pemanggilan $manusia->jalankan() akan menampilkan "Berlari cepat." dan $manusia->jalankanPerintah() akan menampilkan "Menjalankan perintah.".

⬅ Kembali ke Halaman Sebelumnya