DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja

Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

POLIMORFISME

Pelajari konsep polimorfisme dalam PHP lengkap dengan contoh kode untuk memudahkan pemahaman kamu dalam menerapkan prinsip ini dalam pemrograman objek.

Polimorfisme adalah konsep dalam pemrograman berorientasi objek yang memungkinkan objek dapat diolah dengan cara yang sama, namun berperilaku berbeda-beda tergantung pada kelasnya. Dalam PHP, polimorfisme memainkan peran penting dalam desain kode yang bersih dan mudah untuk dipelihara.

Pengertian Polimorfisme

Polimorfisme berasal dari kata Yunani yang berarti “banyak bentuk”. Di dalam PHP, ini mengacu pada kemampuan fungsi untuk memproses objek dari kelas yang berbeda-beda yang memiliki interface yang sama. Ini sering terjadi melalui proses yang disebut ‘method overriding’, di mana kelas anak menulis ulang sebuah metode dari kelas induknya.

Contoh Kode Dasar Polimorfisme

Misalnya, kita memiliki kelas Hewan dengan metode suara. Kita juga memiliki beberapa kelas yang mewarisi kelas Hewan, seperti Kucing dan Anjing, masing-masing dengan implementasi suara yang berbeda.

class Hewan {
    public function suara() {
        return "Hewan membuat suara";
    }
}

class Kucing extends Hewan {
    public function suara() {
        return "Meow";
    }
}

class Anjing extends Hewan {
    public function suara() {
        return "Guk";
    }
}

function cetakSuara(Hewan $hewan) {
    echo $hewan->suara();
}

$kucing = new Kucing();
$anjing = new Anjing();

cetakSuara($kucing); // Output: Meow
cetakSuara($anjing); // Output: Guk

Pada contoh di atas, fungsi cetakSuara dapat menerima parameter berupa objek yang merupakan turunan dari kelas Hewan. Walaupun cetakSuara memanggil metode suara yang sama, output-nya berbeda tergantung pada tipe objek yang dikirim sebagai argument.

Manfaat Polimorfisme

Pelaksanaan polimorfisme di dalam PHP memiliki beberapa manfaat:

  • Kemudahan dalam Maintenance: Jika kamu perlu menambahkan kelas baru yang merupakan turunan dari kelas Hewan, kamu tidak perlu mengubah fungsi cetakSuara. Ini membuat program lebih mudah untuk diperbarui dan dikelola.

  • Code Reusability: Kode yang ditulis untuk objek kelas Hewan dapat digunakan kembali oleh semua subclass tanpa perlu ditulis ulang.

  • Desain Sistem Fleksibel: Polimorfisme memungkinkan desain sistem yang lebih fleksibel, membuat penambahan fitur baru menjadi lebih mudah dan mengurangi risiko bugs yang disebabkan oleh perubahan kode.

Type Hinting dan Polimorfisme

Dalam PHP, kamu bisa menggunakan type hinting untuk menentukan tipe dari argument yang diharapkan oleh sebuah fungsi. Ini sangat berguna dalam menerapkan polimorfisme karena fungsi dapat dikontrak untuk menerima tipe tertentu yang merupakan kelas atau interface.

function cetakSuara(Hewan $hewan) {
    echo $hewan->suara();
}

Pada contoh fungsi cetakSuara di atas, type hint Hewan menunjukkan bahwa fungsi tersebut mengharapkan argumen yang merupakan objek dari kelas Hewan atau turunannya.

Sementara polimorfisme adalah konsep yang sangat berguna dalam pemrograman berorientasi objek, penggunaannnya harus selalu diimbangi dengan pemikiran yang matang tentang struktur dan desain dari aplikasimu. Selamat mencoba dan eksplorasi lebih lanjut untuk menguasai konsep ini dalam pengembangan aplikasi PHP kamu.

👈🏼 Abstract class
Namespace 👉🏼