亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
PHP課程 / 接口

接口

PHP - 接口是什么?

接口允許您指定類應該實現(xiàn)哪些方法。

接口使得以相同的方式使用各種不同的類變得容易。當一個或多個類使用相同的接口時,這被稱為“多態(tài)”。

接口使用 interface 關鍵字聲明:

語法

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

PHP - 接口與抽象類

接口類似于抽象類。接口和抽象類之間的區(qū)別如下:

  • 接口不能有屬性,而抽象類可以
  • 接口的所有方法都必須是公開的,而抽象類的方法是公開或受保護的
  • 接口中的所有方法都是抽象的,因此它們不能在代碼中實現(xiàn),并且不需要 abstract 關鍵字
  • 類可以在實現(xiàn)接口的同時從另一個類繼承

PHP - 使用接口

要實現(xiàn)接口,類必須使用 implements 關鍵字。

實現(xiàn)接口的類必須實現(xiàn)接口的所有方法。

實例

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

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

$animal = new Cat();
$animal->makeSound();
?>
運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

從上面的例子中,假設我們想編寫一個管理一組動物的軟件。所有動物都可以執(zhí)行某些操作,但每種動物都以自己的方式執(zhí)行這些操作。

使用接口,我們可以編寫一些代碼,這些代碼可以為所有動物工作,即使每種動物的行為都不同:

實例

<?php
// 接口定義
interface Animal {
  public function makeSound();
}

// 類定義
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 ";
  }
}

// 創(chuàng)建一個動物列表
$cat = new Cat();
$dog = new Dog();
$mouse = new Mouse();
$animals = array($cat, $dog, $mouse);

// 讓動物們發(fā)出聲音
foreach($animals as $animal) {
  $animal->makeSound();
}
?>
運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

例子解釋

CatDogMouse 都是實現(xiàn) Animal 接口的類,這意味著它們都可以使用 makeSound() 方法來發(fā)出聲音。因此,我們可以遍歷所有動物并讓它們發(fā)出聲音,即使我們不知道每種動物的類型。

由于接口沒有告訴類如何實現(xiàn)該方法,因此每種動物都可以以自己的方式發(fā)出聲音。