Aujourd'hui, je vais vous parler des classes abstraites et des méthodes abstraites en PHP orienté objet. En termes simples, une classe abstraite en PHP est une classe qui ne peut pas être instanciée et ne peut être utilisée que comme classe parent d'autres classes. utilisation, les méthodes abstraites ne peuvent pas apporter de corps de méthode. Jetons un coup d'œil à des exemples spécifiques.
Méthodes abstraites orientées objet et classes abstraites :
Toutes les sous-classes doivent hériter des méthodes de la classe parent, mais il y a une incertitude lors de l'héritage, et les méthodes de la classe parent doivent être modifié Réécriture, à ce stade, nous définissons la méthode remplacée comme une méthode abstraite. Les méthodes abstraites n'ont pas besoin d'avoir un corps de méthode. Cette classe est également abstraite.
Une classe abstraite est une classe qui ne peut pas être instanciée et ne peut être utilisée que comme classe parent d'autres classes !
Si une méthode dans une classe est abstraite, alors la classe est une classe abstraite.
Si une classe est une classe abstraite, la classe doit être modifiée avec abstract.
La classe abstraite est un type spécial de classe, l'interface est un type spécial de classe abstraite, le polymorphisme nécessite l'utilisation d'une classe abstraite ou d'une interface !
Le code du test est le suivant :
abstract class A{ public $name = 'zym'; abstract function show(); } //$a = new A();//会报错 class B extends A{ public function show(){ echo '继承父类的抽象方法并进行重写'; } } $b = new B(); $b->show();
Les classes abstraites sont similaires aux classes ordinaires et contiennent des variables membres et des méthodes membres. La différence entre les deux est qu'une classe abstraite doit contenir at. au moins une méthode abstraite. Il n'y a pas de corps de méthode et l'implémentation de ses fonctions ne peut être complétée que dans des sous-classes.
Le code est le suivant :
//定义一个名为【交通工具】的类 abstract class Vehicle{ private $name;//名称 private $price;//价格 private $brand;//品牌 abstract function run(); } class Truck extends Vehicle{ function run(){ echo '卡车在路上跑'; } } class Plane extends Vehicle{ public function run(){ echo '飞机在天上飞'; } } $plane = new Plane; $plane->run();
Remarque : les méthodes abstraites ne doivent pas avoir de corps de méthode !
Recommandations associées :
explication détaillée en php Méthodes abstraites et classes abstraites
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!