Cet article présente principalement la différence entre les classes abstraites et les interfaces en PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
Classe abstraite :
Héritage unique, utilisation du mot-clé extends
peut avoir des attributs constants et variables
peut avoir des méthodes de constructeur
Les méthodes des classes abstraites peuvent utiliser les mots-clés public, static, private et protected
La logique correspondante peut être implémentée dans les méthodes
Les méthodes abstraites ne peuvent pas avoir de corps de méthode
Interface :
L'héritage multiple peut être obtenu, en utilisant les mots-clés Implements ou Extends pour hériter
peut avoir des constantes, mais ne peut pas avoir de variables
Il n'y a pas de constructeur
Les méthodes sont généralement modifiées avec le mot-clé public
Seul le nom de la méthode, pas de corps de méthode
Ni les classes abstraites ni les interfaces ne peuvent être instanciées
Classe abstraite :
Héritage unique, en utilisant le mot-clé extends
peut avoir des attributs constants et variables
peut avoir des constructeurs
Les méthodes dans les classes abstraites peuvent utiliser public, static, private , la méthode du mot clé Protect
peut implémenter la logique correspondante
méthode abstraite Il ne peut pas y avoir de corps de méthode
Interface :
L'héritage multiple peut être obtenu, en utilisant les outils ou étend l'héritage des mots clés
Peut avoir des constantes, mais ne peut pas avoir de variables
Aucun constructeur
Les méthodes sont généralement modifiées avec le mot-clé public
Uniquement le nom de la méthode, pas de méthode body
Ni les classes abstraites ni les interfaces ne peuvent être instanciées
Recommandations associées :
Analyse de la différence entre Redis et Memcache
Utilisation de classes abstraites et d'interfaces en 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!