Maison  >  Article  >  développement back-end  >  Quelle est la différence entre une classe abstraite et une interface en php

Quelle est la différence entre une classe abstraite et une interface en php

王林
王林original
2020-11-02 13:50:036141parcourir

La différence entre les classes abstraites et les interfaces en PHP : 1. Les classes abstraites peuvent avoir des attributs et des méthodes ordinaires, tandis que les interfaces ne peuvent pas avoir d'attributs et de méthodes ordinaires 2. Les classes abstraites peuvent ne pas avoir de méthodes abstraites, mais les interfaces doivent en avoir ; méthode d'abstraction ; 3. Les classes abstraites sont déclarées à l'aide du mot-clé abstract et les interfaces sont déclarées à l'aide du mot-clé interface.

Quelle est la différence entre une classe abstraite et une interface en php

Introduction aux différences :

(Tutoriel recommandé : Tutoriel vidéo php)

Classe abstraite : Il est basé sur une classe, qui est une classe elle-même. Il s'agit simplement d'une classe spéciale qui ne peut pas être directement instanciée. Les méthodes et les attributs peuvent être définis dans la classe. Semblables aux modèles, après spécification, les sous-classes peuvent implémenter des fonctions détaillées.

Interface : Principalement basée sur les spécifications de méthodes, un peu comme les méthodes abstraites dans les classes abstraites, sauf qu'elle est plus indépendante que les méthodes abstraites. Une classe peut être combinée pour former une nouvelle classe en combinant plusieurs méthodes.

Les similitudes entre les classes abstraites et les interfaces :

1 Elles sont toutes deux utilisées pour déclarer une certaine chose, standardiser les noms et les paramètres, et former des modules, sans détails d'implémentation détaillés.

2. Le travail détaillé pertinent est implémenté à travers les classes

3. Grammaticalement, la méthode abstraite d'une classe abstraite est la même qu'une interface et ne peut pas avoir de corps de méthode, c'est-à-dire le {. Symbole {}

4. L'héritage peut être utilisé. Les interfaces peuvent hériter d'interfaces pour former de nouvelles interfaces, et les classes abstraites peuvent hériter de classes abstraites pour former de nouvelles classes abstraites. interfaces :

1. Les classes abstraites peuvent avoir des attributs, des méthodes ordinaires et des méthodes abstraites, mais les interfaces ne peuvent pas avoir d'attributs, de méthodes ordinaires et peuvent avoir des constantes

2. dans les classes abstraites, mais il doit y avoir une méthode ""Abstraite"

3. La syntaxe est différente

4. La classe abstraite est déclarée avant la classe avec le mot-clé abstract, et la classe est déclarée en tant que classe. L'interface est déclarée avec interface, mais elle ne peut pas utiliser la classe pour la déclarer, car les interfaces ne sont pas des classes.

5. La méthode abstraite d'une classe abstraite doit être déclarée avec abstract, mais l'interface n'a pas besoin de l'être

6. Une classe abstraite utilise le mot-clé extends pour permettre à la sous-classe d'hériter. la classe parent. Les classes implémentent des méthodes abstraites détaillées. Les interfaces utilisent des implémentations pour permettre aux classes ordinaires d'implémenter des méthodes détaillées d'interfaces dans les classes, et les interfaces peuvent implémenter plusieurs méthodes à la fois. Utilisez simplement des virgules pour séparer chaque interface

Recommandations associées :

Formation 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