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 :

微信图片_20180303144604.png

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 : 微信图片_20180303144607.png

Formation continue
||
<?php echo '抽象类与接口的使用'; >
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel