Le contenu de cet article concerne une brève discussion sur la programmation orientée objet PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer
Pratique de base de l'objet PHP-. programmation orientée
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
2. Pratique avancée de la programmation orientée objet en PHP
Points de connaissances : héritage de classe, réécriture de méthode, contrôle d'accès, mot-clé statique , mot-clé final, accès aux données, interface, polymorphisme, classe abstraite
2.1, héritage de classe : mot-clé extends
Par exemple : un opérateur, un hôte, ils ont des méthodes de comportements humains communes, mais ils ont tous leur posséder différentes spécialités. Par conséquent, vous devez créer une classe parent pour eux et en hériter lors de la programmation ;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
|
2.2 Réécriture de méthodes : les sous-classes réécrivent les méthodes de la classe parent
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
2.3. Contrôle d'accès : mots-clés publics, protégés et privés
public : définit des attributs ou des méthodes de membre publics, qui peuvent être utilisés n'importe où
protected : définit des attributs ou des méthodes de membre protégés, qui ne peuvent être utilisés que par la classe elle-même ou subclasses
private : définit des propriétés ou des méthodes de membres privés, dont l'utilisation est autorisée uniquement par la classe elle-même
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
2.4, mot-clé statique (statique)
1), les attributs statiques sont utilisés pour enregistrer les données publiques de la classe ;
2) Seules les propriétés ou méthodes statiques sont accessibles dans les méthodes statiques, et la pseudo-variable $this ne peut pas être utilisée
3) Les membres statiques sont accessibles et utilisés sans instancier d'objets ; via le mot-clé new ;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
2.5. Mot-clé final : les méthodes membres ne peuvent pas être remplacées ou héritées
Exemple : 1. Pour la méthode "manger" de la classe parent, nous ne voulons pas de sous-classes. de le réécrire ; 2. Pour la classe "Athlètes", nous ne voulons pas qu'elle crée des sous-classes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
2.6 Accès aux données : $this, self, parents mots-clés
$this : pseudo ; La variable, représentant la classe elle-même, peut accéder aux propriétés et méthodes des membres de cette classe et de la classe parent.
self : accéder aux attributs ou aux méthodes des membres statiques de la classe
parent : accéder aux attributs ou aux méthodes des membres de la classe parent
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Interface : définir les méthodes de comportement communes des différentes classes, mais il n'est pas implémenté en détail, et des méthodes spécifiques sont implémentées par des sous-classes
Par exemple : les gens peuvent manger, les animaux peuvent aussi manger, et même certaines plantes peuvent manger, mais elles mangent de différentes manières, donc une interface doit être défini à ce moment-là Classe, la méthode spécifique est implémentée par les sous-classes ;
Définir le mot-clé d'interface : interface
Implémenter le mot-clé de méthode d'interface : Implements
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
2.8 Polymorphisme : Par exemple, l'interface A a. 2 Implémentation de B et C, B et C peuvent avoir différentes implémentations des méthodes définies dans l'interface A. Ce phénomène est appelé polymorphisme
Dans l'exemple ci-dessus, l'interface ICanEat définit une méthode eat() et les humains mangent du riz ; . , le singe mange de la banane. Ils implémentent tous une méthode "eat", mais ils ont des comportements différents lorsqu'ils mangent, ce que l'on appelle le polymorphisme
Classe abstraite : intervient entre l'interface et la définition de la classe, permettant à une partie de la classe de se comporter. La méthode n'est pas implémentée, mais une partie de la méthode qui a la même fonction et ne changera pas est implémentée. Cependant, aucune méthode implémentée n’est autorisée dans les classes d’interface.
Par exemple : les humains et les animaux ont des méthodes pour manger et respirer. Sauf pour manger, les méthodes de respiration sont les mêmes. Dans ce cas, une classe abstraite doit être définie pour la mettre en œuvre.
Définir des mots-clés de classe abstraite : abstract
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
3. Pratiques particulières de la programmation orientée objet PHP
Quelques méthodes magiques spécifiques au langage PHP :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
|
Recommandations associées :
Notes orientées objet PHP - 123 Propriétés statiques et méthodes statiques illustrées
Apprenez les trois principales caractéristiques de l'objet PHP -orienté
Exemple détaillé d'implémentation de la fonction PHP de livre d'or orienté objet
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!