Classes abstraites et interfaces
En PHP, vous pouvez déclarer une classe abstraite via le mot-clé abstract. Parfois, nous avons besoin qu'une classe ait certaines méthodes publiques. Dans ce cas, nous pouvons utiliser la technologie d'interface
1 pour créer une classe animale.
Le code Animal.class.php est le suivant :
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/3/3 0003 * Time: 下午 2:13 */ abstract class Animal{ public $gender; //性别 public $size; //尺寸 public function __construct($gender,$size){ $this->gender=$gender; $this->size=$size; } //限制非抽象类都需要调用此方法 abstract protected function getGender(); //final要求每个子类必须存在该方法并且不能重写 final public function getSize(){ return $this->size; } }
2. Créer une classe de chien
Le code Dog.class.php est le suivant :
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/3/3 0003 * Time: 下午 2:20 */ header('content-type:text/html;charset=utf8'); require './Animal.class.php'; class Dog extends Animal { /** * @return mixed */ public function getGender() { return "'$this->gender'狗"; } } $dog=new Dog('公','大'); echo $dog->getSize(); echo $dog->getGender();
Les résultats d'exécution sont les suivants :
3 4, Appel de la classe d'interface
Créez le fichier interface.php, le code est le suivant :
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/3/3 0003 * Time: 下午 2:22 */ header('content-type:text/html;charset=utf8'); require './Animal.class.php'; class Cat extends Animal { public function getGender() { return "'$this->gender'猫"; } } $dog=new Cat('母','小'); echo $dog->getSize(); echo $dog->getGender();
Exécuter les résultats :