Interface Pada OOP PHP

 1. Pendahuluan

Halo teman-teman semua. Apa kabar? mudah-mudahan dalam keadaan sehat dan bahagia. kali ini kita akan membahas mengenai Interface dalam oop PHP. Untuk mulai memahami, interface ini mirip seperti Abstrak Class. Mereka sama-sama tidak bisa diturunkan. Namun pada interface tidak ada lagi keyword abstrak pada method. Karena seluruh method nya adalah abstrak. Yaitu hanya tersedia signature saja tanpa body dari method.

2. Membuat Interface dan Implementasi

Untuk membuat interface cukup menggunakan keyword interface saja sebelum nama. Kemudian sediakan signature method saja dengan akses public. Untuk menggunakan interface sebuah kelas dapat mengimplementasikannya kengan keyword implements.

<?php
interface mobil{
public function maju();
public function mundur();
}


class mobilan implements mobil
{
public function maju(){
echo "Mobil Maju..";
}

public function mundur(){
echo "Mobil Mundur..";
}
}

Pada kode program di atas terlihat penggunaan interface hampil sama dengan abstract class. Namun ada beberapa perbedaan antara abstract class dengan interface. Perbedaannya adalah sebagai berikut:
  • Hak akses method harus public. Baik dalam interface maupun kelas yang mengimplementasikannya.
  • Interface tidak memiliki method normal. Sedangkan method normal boleh dimiliki abstrak kelas.

3. Normal Method Pada Interface

Dalam interface tidak boleh ada normal method. Berbeda dari abstrak class. Pada interface tidak boleh ada normal method. Interface hanya berfungsi untuk menyeragamkan antarmuka atau semua method saja.

<?php
interface mobil{
        public function nama(){
echo "Nama Mobil: ....";
}
public function maju();
public function mundur();
}


class mobilan implements mobil
{
public function maju(){
echo "Mobil Maju..";
}

public function mundur(){
echo "Mobil Mundur..";
}
}
//Fatal error: Interface function mobil::nama() cannot contain body in

Pada kode program diatas, jika terdapat normal method maka akan terjadi error seperti di atas.

4. Implementasi Lebih Dari Satu Interface

Berbeda dengan abstract class yang hanya boleh diturun satu class. Pada interface bisa sekaligus beberapa interface di implementasikan. Berikut Contoh programnya.

<?php
interface mobil{
public function maju();
public function mundur();
}

interface mesin{
public function bahan_bakar();
}

class mobilan implements mobil,mesin{
public function maju(){
echo "Mobil Maju..";
}

public function mundur(){
echo "Mobil Mundur..";
}
public function bahan_bakar(){
echo "Bahan Bakar: Solar";
}
}

Pada contoh program di atas terlihat interface yang di implementasikan dipisahkan oleh koma. Terima kasih telah membaca artikel ini. Lebih dan kurang saya mohon maaf. Dukung kami dengan subscribe channel youtube kami.

Popular posts from this blog

Cara Menggunakan Template Admin LTE Sebagai Template Web Dinamis

Aplikasi CRUD menggunakan Template Admin LTE

Cara membuat Link ke Halaman lain dan Link ke bagian Halaman