Tutorial Belajar OOP PHP Part 17: Pengertian Polimorfisme dalam Pemrograman Objek PHP

Posted on

Abstract Class dan Object Interfaces yang kita pelajari pada 2 panduan sebelum ini adalah sebuah implementasi dari konsep pemrograman dengan objek yang dinamakan Polimorfisme. Pada panduan OOP PHP kali ini, kita akan membahas pengertian polimorfisme dalam pemrograman objek PHP, disertai contoh penggunaannya.


Pengertian Polimorfisme

Dari segi bahasa, Polimorfisme (bahasa inggris: Polymorphism) berasal dari dua kata bahasa latin yakni poly dan morph. Poly berarti banyak, dan morph berarti format. Polimorfisme berarti banyak format (wikipedia).

Di pada pemrograman objek, polimorfisme ialah konsep dimana terdapat banyak class yang mempunyai signature method yang sama. Implementasi dari method-method tersebut diserahkan kepada tiap class, akan tetapi cara pemanggilan method mesti sama. Agar kita dapat ‘memaksakan’ signature method yang sama di banyak class, class tersebut mesti diturunkan dari sebuah abstract class atau object interface.

Selaku contoh, berikut ialah kode PHP yang mengimplementasikan konsep polimorfisme:

Contoh kode diatas lumayan panjang, namun kalau kamu mengikuti panduan OOP PHP sebelumnya (mengenai abstract class), karenanya kode diatas akan dapat dimengerti dengan bagus.

Di awal program, saya membangun abstract class komputer yang kemudian diturunkan kedalam 3 class lain, yakni: class laptop, class komputer dan class chromebook. Abstract class komputer mempunyai abstract method booting_os(), yang mesti diimplementasikan ulang di tiap class yang diturunkan dari class komputer. Setelah pendefenisian class, saya membangun 3 objek dari masing-masing class.

Perhatikan bahwa setelah perancangan objek dari masing-masing class, saya membangun guna booting_os_komputer(). Manfaat ini berperan bagi memanggil method-method dari setiap class.

Konsep polimorfisme dari contoh diatas ialah, guna booting_os_komputer() akan selalu berhasil dijalankan, dalam kurun waktu argumen yang diberikan berasal dari class yang diturunkan dari class abstract komputer.


Peran Abstract Class dan Interface pada Polimorfisme

Bagus abstract class maupun interface dapat digunakan bagi membangun banyak class dengan method yang sama. Pun keduanya sering digunakan secara bersama-sama.

Berikut ialah revisi kode program kita sebelumnya dengan menggunakan abstract class dan interface:

Di kode program diatas, saya membangun 1 abstract class: komputer, dan 1 interface: mouse. Keduanya kemudian di turunkan kepada 3 class: class laptop, class komputer, dan class chromebook.

Dalam kurun waktu sebuah class diturunkan dari abstract class komputer, dan menggunakan interface mouse, guna booting_os_komputer() dan guna double_klik_komputer() akan selalu berhasil di jalankan, terlepas dari apapun nama objek dan implementasi method yang digunakan.

Konsep polimorfisme yang kita bahas pada panduan ini bertujuan bagi membangun struktur pola dari class dan turunannya. Lebih jauh lagi, polimorfisme menekankan alur kode program yang terorganisir bagi mengurangi adanya perulangan kode program.


Sumber https://www.duniailkom.com/