Antara muka dalam PHP

I

Dalam tutorial ini, kita akan mempelajari antara muka dalam PHP.

Apakah antara muka dalam OOP?

  • Antara muka ialah kelas yang mengandungi kaedah abstrak sahaja.
  • Dengan menggunakan kelas antara muka, kita boleh menentukan kaedah yang harus dilaksanakan oleh kelas yang memanjangkan antara muka.
  • Tidak seperti kelas abstrak, anda tidak perlu menulis abstrak dengan kaedah kerana antara muka hanya boleh mempunyai kaedah abstrak di dalamnya.
  • antara muka kata kunci digunakan untuk mengisytiharkan kelas antara muka. Lihat sintaks kelas antara muka berikut dalam PHP.
<?php
interface InterfaceName {
  public function someMethod1();
  public function someMethod2($name, $color);
  public function someMethod3() : string;
}
?>

Walaupun kelas abstrak dan antara muka agak serupa, mereka secara logiknya berbeza antara satu sama lain.

Perbezaan antara kelas Antara Muka dan Abstrak dalam PHP

Kelas AntaramukaKelas Abstrak
Tidak boleh mengandungi sifatBoleh mengandungi sifat
Semua kaedah adalah abstrak dan kata kunci abstrak tidak diperlukan bersama dengan kaedah.Con mengandungi kaedah abstrak dan juga bukan abstrak. Kata kunci abstrak diperlukan untuk mengisytiharkan kaedah abstrak.
Kelas boleh melaksanakan antara muka bersama-sama dengan mewarisi daripada kelas lain. Ini bermakna kelas kanak-kanak boleh melaksanakan antara muka pada masa yang sama.Kelas kanak-kanak (diwarisi daripada kelas lain), tidak boleh melaksanakan kelas abstrak.
Semua kaedah mestilah terbuka berkenaan dengan pengubah akses.Kaedah boleh sama ada umum atau dilindungi berkenaan dengan pengubah akses.
Antara Muka lwn Kelas Abstrak

Contoh Antaramuka dalam PHP

antara muka kata kunci digunakan untuk mengisytiharkan antara muka dalam PHP. Lihat pelaksanaan berikut bagi antara muka dalam PHP.

<?php
interface Unit {
  public function standard_unit();
}

class Weight implements Unit {
  public function standard_unit() {
    echo "Kg";
  }
}

$weight= new Weight();
$weight->standard_unit();
?>
  • Dalam contoh di atas. kami mencipta Unit kelas antara muka yang mengandungi kaedah standard_unit.
  • Kemudian kita buat kelas lain berat badan yang melaksanakan Unit antara muka dan mentakrifkan kaedah unit_standard di dalamnya.
  • Daripada contoh di atas, kita dapat melihat bahawa kelas yang menggunakan antara muka boleh mengatasi kaedahnya dan boleh menggunakannya dengan caranya sendiri. Katakan kita mempunyai panjang kelas yang lain, ia boleh menggunakan kaedah standard_unit dengan cara tersendiri.
  • Kita boleh menulis logik yang akan berfungsi untuk semua kuantiti fizik yang mempunyai unit SI. Lihat contoh berikut.
<?php
// Interface definition
interface Unit {
  public function standard_unit();
}

// Class definitions
class Weight implements Unit {
  public function makeSound() {
    echo " kg";
  }
}

class Length implements Unit {
  public function standard_unit() {
    echo " meter";
  }
}

class Temperature implements Unit {
  public function standard_unit() {
    echo " celcius";
  }
}

// Create a list of Physical Quanitites
$weight = new Weight();
$length = new Length();
$temperature = new Temperature();
$quantities= array($weight, $length, $temperature);

// Tell the quantities to use its standard unit
foreach($quantities as $quantities) {
  $quantitiy->standard_unit();
}
?>
  • Dalam contoh di atas, kami mencipta kelas yang serupa seperti dalam contoh sebelumnya.
  • Kelas berat, panjang dan suhu melaksanakan antara muka yang sama dan boleh menggunakan kaedah unit_standard dengan cara tersendiri. Jadi, kami membuat tatasusunan objek kelas ini dan menggelungkannya satu demi satu ke kelas kaedah unit_standard.

Rujukan kepada dokumentasi antara muka PHP 8 rasmi.

Add comment

Rangkaian Tutor

Belajar PHP dari A hingga Z