Belajar PHP Dasar #17: Inheritance & Interface


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar PHP Dasar #17: Inheritance & Interface

Halo teman-teman semuanya, setelah mempelajari property dan method dalam OOP PHP, pada artikel kali ini kita akan membahas dua konsep lanjutan yang sangat penting dalam pemrograman berorientasi objek, yaitu Inheritance (Pewarisan) dan Interface.

Apa Itu Inheritance?

Inheritance atau pewarisan adalah konsep di mana sebuah class (disebut child class) dapat mewarisi property dan method dari class lain (disebut parent class).

Dengan menggunakan inheritance, kita dapat menghindari duplikasi kode dan membuat struktur program yang lebih rapi dan terorganisir.

Contoh:

<?php

  class Kendaraan {
      public $merk;

      public function nyalakanMesin() {
          echo "Mesin dinyalakan<br>";
      }
  }

  class Mobil extends Kendaraan {
      public function klakson() {
          echo "Klakson dibunyikan<br>";
      }
  }

  $mobil1 = new Mobil();
  $mobil1->merk = "Toyota";
  echo "Merk: $mobil1->merk<br>";
  $mobil1->nyalakanMesin();
  $mobil1->klakson();
  
?>

Pada contoh di atas, class Mobil mewarisi property $merk dan method nyalakanMesin() dari class Kendaraan.

Overriding Method

Child class dapat mengubah perilaku (override) method yang diwarisi dari parent class dengan mendefinisikan ulang method tersebut.

<?php

  class Kendaraan {
      public function nyalakanMesin() {
          echo "Mesin kendaraan dinyalakan<br>";
      }
  }

  class Motor extends Kendaraan {
      public function nyalakanMesin() {
          echo "Mesin motor dinyalakan dengan starter<br>";
      }
  }

  $motor = new Motor();
  $motor->nyalakanMesin(); // Memanggil versi dari class Motor
  
?>

Apa Itu Interface?

Interface adalah kontrak atau kerangka kerja yang mendefinisikan method apa saja yang harus diimplementasikan oleh class yang menggunakannya. Interface tidak memiliki isi atau implementasi kode di dalam method-nya.

Interface berguna ketika kita ingin memaksa class-class tertentu untuk memiliki struktur method yang sama, meskipun berasal dari hierarki class yang berbeda.

Contoh:

<?php

  interface KendaraanInterface {
      public function nyalakanMesin();
      public function matikanMesin();
  }

  class Mobil implements KendaraanInterface {
      public function nyalakanMesin() {
          echo "Mobil dinyalakan<br>";
      }

      public function matikanMesin() {
          echo "Mobil dimatikan<br>";
      }
  }

  $mobil = new Mobil();
  $mobil->nyalakanMesin();
  $mobil->matikanMesin();
  
?>

Pada contoh di atas, class Mobil mengimplementasikan interface KendaraanInterface, sehingga wajib menyediakan implementasi dari semua method yang didefinisikan dalam interface tersebut.

Perbedaan Inheritance dan Interface

Inheritance (Pewarisan) Interface
Mewarisi property & method Hanya mendefinisikan method (tanpa isi)
Gunakan extends Gunakan implements
Bisa langsung digunakan Harus diimplementasikan semua method-nya
Hanya satu parent class Bisa mengimplementasikan banyak interface

Kesimpulan

Inheritance dan interface adalah fitur penting dalam OOP yang memungkinkan kita membangun kode yang lebih terstruktur dan fleksibel.

Inheritance memungkinkan class untuk mewarisi perilaku dari class lain, sedangkan interface mendefinisikan kontrak yang harus dipenuhi oleh class yang mengimplementasikannya.

Terima Kasih


PHP
Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami