Antarmuka di PHP | Antarmuka PHP OOP

Diterbitkan: 2021-03-03

Daftar isi

pengantar

PHP adalah bahasa berorientasi objek, dan antarmuka adalah salah satu fitur utama dari bahasa pemrograman berorientasi objek. Antarmuka memungkinkan pembuat kode untuk mendeklarasikan fungsi yang berisi definisi berbeda di kelas yang mengimplementasikan antarmuka itu. Baca terus untuk memahami antarmuka dalam PHP . Juga, lihat contoh antarmuka dalam PHP yang dibagikan dalam artikel untuk mendapatkan lebih banyak pemahaman.

Antarmuka dalam PHP

Antarmuka adalah fitur dalam pemrograman berorientasi objek yang memungkinkan pembuatan fungsi tanpa implementasi. Implementasinya perlu dimasukkan ke dalam kelas. Ini membantu mencegah kompleksitas definisi metode, karena setiap kelas yang mewarisi antarmuka dapat memiliki implementasi yang berbeda sesuai kebutuhan. Penggunaan antarmuka di PHP mirip dengan kelas, satu-satunya perbedaan bahwa implementasi tidak ada dalam fungsi di antarmuka, dan antarmuka tidak memiliki variabel.

Fitur Antarmuka di PHP

  • Antarmuka tidak berisi kode.
  • Antarmuka memiliki deklarasi metode dengan atau tanpa argumen tetapi bukan definisi.
  • Kelas yang mengimplementasikan antarmuka harus berisi definisi semua metode yang dideklarasikan dalam antarmuka.
  • Sebuah kelas dapat memiliki implementasi beberapa antarmuka.
  • Antarmuka tidak boleh memiliki metode non-abstrak.

Sintaks Antarmuka

Antarmuka perlu dideklarasikan sebelum digunakan. Sintaks antarmuka mirip dengan kelas, dengan satu-satunya perbedaan adalah bahwa kata kunci antarmuka digunakan sebagai pengganti kata kunci kelas saat mendeklarasikan antarmuka. Di bawah ini adalah sintaks untuk mendeklarasikan antarmuka di PHP :

<?php

//Deklarasi antarmuka di PHP

Antarmuka <Nama Antarmuka>

{

//Kode

}

?>

Metode yang dideklarasikan di dalam antarmuka dapat diakses dengan mewarisi antarmuka berdasarkan kelas. Kelas mewarisi antarmuka dalam PHP menggunakan kata kunci implements saat mendeklarasikan kelas.

Di bawah ini adalah sintaks untuk mengimplementasikan antarmuka di PHP :

<?php

//deklarasi kelas

Kelas <Nama Kelas> mengimplementasikan <Nama Antarmuka>

{

//Kode

}

?>

Contoh Antarmuka di PHP

Untuk memahami penggunaan antarmuka, mari kita lihat contoh di bawah ini:

<?php

// Mendeklarasikan antarmuka

Contoh Antarmuka_Bentuk

{

Fungsi publik ShapeArea();

}

//Kelas mewarisi antarmuka

Kelas Shape1 mengimplementasikan Example_Shape

{

Fungsi publik ShapeArea()

{

Gema 'Luas lingkaran';

}

}

//Kelas mewarisi antarmuka

Kelas Shape2 mengimplementasikan Contoh_Bentuk

{

Fungsi publik ShapeArea()

{

Gema 'Luas alun-alun';

}

}

// Kelas tanpa menggunakan antarmuka

Bentuk Kelas3

{

Fungsi publik AreaCal()

{

Gema 'Tidak ada antarmuka';

}

}

$Obj1 = Bentuk1 baru; // Objek untuk kelas1

$Obj2 = Bentuk2 baru; // Objek untuk kelas2

$obj3 = Bentuk3 baru; // Objek untuk kelas 3, tidak menggunakan antarmuka

Echo $obj1->ShapeArea();

Gema '<br>';

Echo $obj2->ShapeArea();

Gema '<br>';

Echo $obj3->AreaCal();

?>

Keluaran

luas lingkaran

luas persegi

Tidak ada antarmuka

Penjelasan keluaran

Kelas Shape1 memiliki definisi fungsi yang dideklarasikan di dalam antarmuka. Shape1 mengimplementasikan antarmuka, oleh karena itu, ia memiliki akses ke fungsi di dalamnya dan mencetak 'Area lingkaran'. Serupa adalah penjelasan untuk kelas Shape2 dan output 'Area persegi.' Kelas Shape3 tidak mengimplementasikan antarmuka dan berfungsi seperti kelas biasa di PHP.

Implementasi Beberapa Antarmuka

Sebuah kelas juga dapat mengimplementasikan lebih dari satu antarmuka. Dalam kasus seperti itu, kelas perlu memiliki definisi semua metode yang dideklarasikan di semua antarmuka yang diimplementasikan oleh kelas. Di bawah ini adalah ilustrasi implementasi lebih dari satu antarmuka di PHP .

<?php

// Deklarasi Antarmuka

Contoh antarmuka1

{

Metode fungsi publik1();

}

// Deklarasi antarmuka lain

Contoh antarmuka2

{

Metode fungsi publik2();

}

//Kelas yang mengimplementasikan dua antarmuka yang dideklarasikan di atas

kelas class1 mengimplementasikan contoh1, contoh2

{

// Definisi metode antarmuka1

Metode fungsi publik1

{

Gema 'Di dalam interface1 method1';

}

//Definisi metode antarmuka2

Metode fungsi publik2

{

Gema 'Di dalam interface2 method2;

}

}

Obj1 = kelas baru1;

Obj2 = kelas baru2;

Obj1->metode1;

Obj2->metode2;

?>

Keluaran

Di dalam antarmuka1 metode1

Di dalam antarmuka2 metode2

Beberapa Poin yang Perlu Diperhatikan Tentang Implementasi Beberapa Antarmuka

  • Semua metode yang dideklarasikan dalam antarmuka harus bersifat publik.
  • Fungsi tidak boleh memiliki kata kunci abstrak.
  • Jika pemrogram lupa mendefinisikan fungsi antarmuka apa pun, kode akan menimbulkan kesalahan.
  • Antarmuka tidak boleh berisi variabel.

Checkout: Konsep OOP di PHP

Perbedaan Antara Antarmuka dan Kelas Abstrak

Di bawah ini adalah beberapa perbedaan antara antarmuka dan kelas abstrak:

  • Antarmuka hanya berisi deklarasi, tetapi kelas abstrak berisi deklarasi metode dan definisinya.
  • Metode dalam antarmuka hanya dapat bersifat publik, sedangkan metode dalam kelas abstrak dapat dideklarasikan sebagai publik, pribadi, atau dilindungi.
  • Satu kelas dapat mengimplementasikan lebih dari satu antarmuka, sementara satu kelas dapat memperluas satu metode abstrak saja.

Kesimpulan

Antarmuka dalam PHP adalah fitur yang memungkinkan pengguna untuk mendeklarasikan metode publik tanpa definisi. Artikel ini menjelaskan semua informasi tentang antarmuka dengan sintaks dan contohnya. Kami berharap informasi yang dibagikan dalam artikel ini bermanfaat bagi Anda dalam memahami konsepnya. Anda dapat mempelajari topik serupa berdasarkan PHP di blog upGrad. Untuk pemahaman yang mendalam, Anda dapat mendaftar untuk kursus sertifikasi online PHP di upGrad. upGrad menawarkan banyak kursus sertifikat yang dapat membantu karir dan pembelajaran Anda.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang pengembangan perangkat lunak full-stack, lihat Diploma PG Tingkat & IIIT-B dalam Pengembangan Perangkat Lunak Full-stack yang dirancang untuk profesional yang bekerja dan menawarkan 500+ jam pelatihan yang ketat, 9+ proyek, dan tugas, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.

Menjadi Pengembang Tumpukan Penuh

UPGRAD DAN DIPLOMA PG IIIT-BANGALORE DALAM PENGEMBANGAN PERANGKAT LUNAK FULL STACK
BELAJARLAH LAGI