Maison  >  Article  >  développement back-end  >  Quelles sont les similitudes et les différences entre les interfaces et les classes abstraites en PHP

Quelles sont les similitudes et les différences entre les interfaces et les classes abstraites en PHP

王林
王林original
2019-11-08 11:54:232169parcourir

Quelles sont les similitudes et les différences entre les interfaces et les classes abstraites en PHP

Les similitudes entre les interfaces et les classes abstraites :

1. Les classes abstraites et les interfaces ont des méthodes abstraites

2. Les classes abstraites et les interfaces ne peuvent pas créer d'objets d'instance

3. Les classes abstraites et les interfaces ont la même signification (définir une spécification)

La différence entre les interfaces et les classes abstraites :

1. Toutes les méthodes de l'interface doivent être des méthodes abstraites (les méthodes non abstraites ne peuvent pas être utilisées), donc n'utilisez pas abstract dans toutes les méthodes de l'interface et terminez directement par des points-virgules

2, Les attributs des membres dans l'interface doivent être des constantes (ne peuvent pas avoir de variables)

3. Toutes les autorisations de l'interface doivent être publiques (public)

4. utilisé class , utilisez interface

interface Person{
 public $name; //不能声明变量 报错
  const NAME='tom'// 可以声明常量
 function test();  //因为接口中全部是抽象方法 所以 省去 abstract 。
 function test1();
Protect function test3() 报错 只可以是 public
}
$re=new Person; //报错 不可以 创建实例化 对象 。
echo Person:: NAME; 输出常量。

Tutoriel recommandé : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn