PHP interfeyslar


ULASHISH

PHP interfeyslari

Interfeys class qanday umumiy usullarni amalga oshirishi kerakligini aniqlamasdan, ularni qanday amalga oshirish kerakligini aniqlash imkonini beradi.

Interfeyslar interface kalit so‘zi va metodlari bilan e’lon qilinadi interfeysda e’lon qilingan public bo‘lishi kerak:

interface InterfaceName {
  public function method1();
  public function method2();
}

Interfeysni amalga oshirish uchun class implements kalit so‘zidan foydalanishi kerak.

Interfeysni amalga oshiradigan class interfeysning barcha usullarini amalga oshirishi kerak.

class ClassName implements InterfaceName{
  public function method1() { 
    // some code
  } 
  public function method2(){ 
    // some code
  } 
}

Quyidagi misolda bitta umumiy metod (makeSound()) bilan Animal nomli interfeys aniqlanadi. Cat va Dog klassi Animal interfeysini amalga oshiradi va ikkalasi ham makeSound() usulini o‘z ichiga olishi kerak:

Misol

<?php // Define the interface interface Animal {   public function makeSound(); } // Implement the interface in a class class Cat implements Animal {   public function makeSound() {     echo "Meow";   } } // Implement the interface in another class class Dog implements Animal {   public function makeSound() {     echo "Woff";   } } $cat = new Cat(); $cat->makeSound(); $dog = new Dog(); $dog->makeSound(); ?>
O‘zingiz sinab ko‘ring »


PHP - Interfeyslar va abstrakt classlar

Interfeys mavhum classlarga o‘xshaydi. Interfeyslar va mavhum classlar o‘rtasidagi farq:

  • Interfeyslar xossalarga ega bo‘lolmaydi, mavhum classlar esa
  • Barcha interfeys metodlari ommaviy bo‘lishi kerak, mavhum usullar esa ochiq yoki himoyalangan bo‘lishi mumkin
  • Interfeysdagi barcha usullar mavhum, shuning uchun ularni kodda amalga oshirib bo‘lmaydi va mavhum kalit so‘z kerak emas.
  • classlar bir vaqtning o‘zida boshqa classdan meros qilib olingan holda interfeysni amalga oshirishi mumkin

Interfeyslar turli xil classlardan bir xil tarzda foydalanishni osonlashtiradi. Bir yoki bir nechta classlar bir xil interfeysdan foydalansa, u "polimorfizm" deb ataladi.


PHP - Interfeyslardan foydalanish

Quyidagi misolda ikkita umumiy metod (fromFamily() va makeSound()) bilan Animal nomli interfeys aniqlanadi. Cat va Dog classi Animal interfeysini amalga oshiradi va ular ham fromFamily() va makeSound() usullarini o‘z ichiga olishi kerak:

Misol

<?php interface Animal {   public function fromFamily();   public function makeSound(); } class Cat implements Animal {   public function fromFamily() {     echo "From family: Felidae (Relatives: lions, tigers, jaguars, lynx, cougars, and cheetahs).<br>";   }   public function makeSound() {     echo "Sound: Meow.";   } } class Dog implements Animal {   public function fromFamily() {     echo "From family: Canidae (Relatives: wolves, foxes, coyotes, jackals, and domestic dogs).<br>";   }   public function makeSound() {     echo "Sound: Woff.";   } } echo "<h3>Cats</h3>"; $cat = new Cat(); $cat->fromFamily(); $cat->makeSound(); echo "<h3>Dogs</h3>"; $dog = new Dog(); $dog->fromFamily(); $dog->makeSound(); ?>
O‘zingiz sinab ko‘ring »

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!