Tutorial PHP

RUMAH PHP Pengenalan PHP Instal PHP Sintaks PHP Komentar PHP Variabel PHP PHP Gema / Cetak Tipe Data PHP String PHP Nomor PHP PHP Matematika Konstanta PHP Operator PHP PHP Jika...Lain...Elseif Beralih PHP PHP Loop Fungsi PHP Array PHP PHP Superglobal PHP RegEx

Formulir PHP

Penanganan Formulir PHP Validasi Formulir PHP Diperlukan Formulir PHP URL/Email Formulir PHP Formulir PHP Lengkap

PHP Lanjutan

Tanggal dan Waktu PHP PHP Termasuk Penanganan File PHP File PHP Buka/Baca Membuat/Menulis File PHP Unggah File PHP Cookie PHP Sesi PHP Filter PHP Filter PHP Tingkat Lanjut Fungsi Panggilan Balik PHP PHP JSON Pengecualian PHP

PHP OOP

PHP Apa itu OOP Kelas/Objek PHP Konstruktor PHP Penghancur PHP Pengubah Akses PHP Warisan PHP Konstanta PHP Kelas Abstrak PHP Antarmuka PHP Ciri-ciri PHP Metode Statis PHP Properti Statis PHP Ruang Nama PHP PHP Iterable

Database MySQL

Database MySQL Koneksi MySQL MySQL Buat DB MySQL Buat Tabel MySQL Sisipkan Data MySQL Dapatkan ID Terakhir MySQL Sisipkan Beberapa MySQL Disiapkan MySQL Pilih Data MySQL Dimana MySQL Dipesan Oleh MySQL Hapus Data Data Pembaruan MySQL Data Batas MySQL

PHP XML

PHP XML Parser PHP SimpleXML Parser PHP SimpleXML - Dapatkan PHP XML Ekspat PHP XML DOM

PHP - AJAX

Pengenalan AJAX AJAX PHP Basis Data AJAX AJAX XML Pencarian Langsung AJAX Jajak Pendapat AJAX

Contoh PHP

Contoh PHP Kompilator PHP Kuis PHP Latihan PHP Sertifikat PHP

Referensi PHP

Ikhtisar PHP Array PHP Kalender PHP Tanggal PHP Direktori PHP Kesalahan PHP Pengecualian PHP Sistem File PHP Filter PHP PHP FTP PHP JSON Kata Kunci PHP PHP Libxml Surat PHP PHP Matematika PHP Lain-lain PHP MySQLi Jaringan PHP Kontrol Keluaran PHP PHP RegEx PHP SimpleXML Aliran PHP String PHP Penanganan Variabel PHP PHP XML Parser PHP Zip Zona Waktu PHP

PHP OOP - Antarmuka


PHP - Apa itu Antarmuka?

Antarmuka memungkinkan Anda untuk menentukan metode apa yang harus diterapkan oleh kelas.

Antarmuka memudahkan untuk menggunakan berbagai kelas yang berbeda dengan cara yang sama. Ketika satu atau lebih kelas menggunakan antarmuka yang sama, ini disebut sebagai "polimorfisme".

Antarmuka dideklarasikan dengan interfacekata kunci:

Sintaksis

<?php
interface InterfaceName {
  public function someMethod1();
  public function someMethod2($name, $color);
  public function someMethod3() : string;
}
?>

PHP - Antarmuka vs Kelas Abstrak

Antarmuka mirip dengan kelas abstrak. Perbedaan antara antarmuka dan kelas abstrak adalah:

  • Antarmuka tidak dapat memiliki properti, sedangkan kelas abstrak dapat
  • Semua metode antarmuka harus bersifat publik, sedangkan metode kelas abstrak bersifat publik atau dilindungi
  • Semua metode dalam antarmuka adalah abstrak, sehingga tidak dapat diimplementasikan dalam kode dan kata kunci abstrak tidak diperlukan
  • Kelas dapat mengimplementasikan antarmuka sambil mewarisi dari kelas lain secara bersamaan

PHP - Menggunakan Antarmuka

Untuk mengimplementasikan antarmuka, kelas harus menggunakan implementskata kunci.

Kelas yang mengimplementasikan antarmuka harus mengimplementasikan semua metode antarmuka.

Contoh

<?php
interface Animal {
  public function makeSound();
}

class Cat implements Animal {
  public function makeSound() {
    echo "Meow";
  }
}

$animal = new Cat();
$animal->makeSound();
?>

Dari contoh di atas, katakanlah kita ingin menulis perangkat lunak yang mengelola sekelompok hewan. Ada tindakan yang dapat dilakukan semua hewan, tetapi setiap hewan melakukannya dengan caranya sendiri.

Menggunakan antarmuka, kita dapat menulis beberapa kode yang dapat bekerja untuk semua hewan bahkan jika setiap hewan berperilaku berbeda:

Contoh

<?php
// Interface definition
interface Animal {
  public function makeSound();
}

// Class definitions
class Cat implements Animal {
  public function makeSound() {
    echo " Meow ";
  }
}

class Dog implements Animal {
  public function makeSound() {
    echo " Bark ";
  }
}

class Mouse implements Animal {
  public function makeSound() {
    echo " Squeak ";
  }
}

// Create a list of animals
$cat = new Cat();
$dog = new Dog();
$mouse = new Mouse();
$animals = array($cat, $dog, $mouse);

// Tell the animals to make a sound
foreach($animals as $animal) {
  $animal->makeSound();
}
?>

Contoh Dijelaskan

Kucing, Anjing, dan Tikus adalah semua kelas yang mengimplementasikan antarmuka Hewan, yang berarti bahwa semuanya dapat membuat suara menggunakan makeSound()metode tersebut. Karena itu, kita dapat mengulang semua hewan dan menyuruh mereka mengeluarkan suara meskipun kita tidak tahu jenis hewan masing-masing.

Karena antarmuka tidak memberi tahu kelas cara mengimplementasikan metode, setiap hewan dapat membuat suara dengan caranya sendiri.