Maison  >  Article  >  développement back-end  >  Analyse des connaissances de base de la programmation orientée objet PHP

Analyse des connaissances de base de la programmation orientée objet PHP

WBOY
WBOYoriginal
2023-08-11 14:10:471064parcourir

Analyse des connaissances de base de la programmation orientée objet PHP

Analyse des connaissances de base de la programmation orientée objet PHP

Introduction :
La programmation orientée objet (Object Oriented Programming, POO en abrégé) est une méthodologie de développement de programme, qui résume les éléments du monde réel en objets et les utilise. à l'interaction et au partage d'informations entre eux pour compléter les fonctions du programme. PHP est un langage de programmation puissant largement utilisé dans le développement Web. L'utilisation d'une approche orientée objet en PHP peut améliorer la maintenabilité et la réutilisabilité du code. Cet article présentera les bases de la programmation orientée objet en PHP et l'illustrera avec des exemples de code.

1. Classes et objets
Dans la programmation orientée objet, une classe est le modèle d'un objet, décrivant les propriétés et les méthodes que l'objet doit avoir. Un objet est une instance d'une classe et peut être créé à l'aide de l'opérateur new. Ce qui suit est un exemple simple de code de classes et d'objets :

class Car {
    public $brand;
    public $color;
    
    public function startEngine() {
        echo "启动引擎。";
    }
    
    public function honk() {
        echo "按喇叭。";
    }
}

$myCar = new Car();
$myCar->brand = "BMW";
$myCar->color = "红色";

$myCar->startEngine();  // 输出:启动引擎。
$myCar->honk();         // 输出:按喇叭。

Dans le code ci-dessus, nous définissons une classe nommée Car, qui a deux attributs : brand et color, et deux méthodes : startEngine() et honk() . En utilisant l'opérateur new, un objet d'instance $myCar de la classe Car est créé et des valeurs sont attribuées à ses propriétés. Enfin, le résultat de la fonction correspondante peut être obtenu en appelant la méthode de l'objet.

2. Méthodes constructeur et destructeur
Constructor est une méthode qui est automatiquement appelée lors de la création d'un objet. Sa fonction est d'initialiser l'objet. En PHP, le nom de la méthode constructeur est toujours __construct(), et vous pouvez définir les paramètres de la méthode selon vos besoins.

Le destructeur est une méthode qui est automatiquement appelée lorsqu'un objet est détruit. Son rôle est d'effectuer les opérations de libération des ressources nécessaires. Le nom de la méthode destructeur est toujours __destruct().

Ce qui suit est un exemple de code contenant un constructeur et un destructeur :

class Dog {
    public $name;
    
    public function __construct($name) {
        echo "创建了一只名叫" . $name . "的狗。";
        $this->name = $name;
    }
    
    public function __destruct() {
        echo "销毁了" . $this->name . "。";
    }
}

$myDog = new Dog("旺财");  // 输出:创建了一只名叫旺财的狗。
unset($myDog);            // 输出:销毁了旺财。

Dans le code ci-dessus, nous définissons une classe Dog et générons un message d'invite pour créer un objet dans le constructeur. Après avoir créé l'objet, nous utilisons la fonction unset() pour détruire l'objet, qui appellera automatiquement la méthode destructeur et affichera un message d'invite pour détruire l'objet.

3. Contrôle d'accès
Grâce au contrôle d'accès, nous pouvons encapsuler les attributs et les méthodes d'une classe pour réaliser la dissimulation et la protection des données. Les mots-clés utilisés pour implémenter le contrôle d'accès en PHP sont public, protected et private.

  • Les propriétés et méthodes publiques sont accessibles à tous sans restrictions d'accès.
  • Les propriétés et méthodes protégées ne sont accessibles qu'à l'intérieur de la classe et des sous-classes.
  • Les propriétés et méthodes privées ne sont accessibles qu'à l'intérieur de la classe.

Ce qui suit est un exemple de code :

class Person {
    public $name;             // 公有属性
    protected $age;           // 受保护的属性
    private $gender;          // 私有属性
    
    public function __construct($name, $age, $gender) {
        $this->name = $name;
        $this->age = $age;
        $this->gender = $gender;
    }
    
    public function getInfo() {
        echo "姓名:" . $this->name . ",年龄:" . $this->age . ",性别:" . $this->gender;
    }
}

$person = new Person("张三", 25, "男");
echo $person->name;             // 输出:张三
echo $person->age;              // 报错,无法访问受保护的属性
echo $person->gender;           // 报错,无法访问私有属性
$person->getInfo();             // 输出:姓名:张三,年龄:25,性别:男

Dans le code ci-dessus, nous définissons une classe Person, où le nom est un attribut public et est accessible directement ; l'âge est un attribut protégé et n'est accessible qu'au sein de la classe et sous-classes ; le sexe est un attribut privé et n’est accessible qu’au sein de la classe. Après avoir créé l'objet, nous pouvons accéder directement à l'attribut name, mais nous ne pouvons pas accéder aux attributs age et sex. On peut alors accéder indirectement aux valeurs des propriétés protégées et privées en appelant la méthode getInfo().

Conclusion :
Cet article présente les connaissances de base de la programmation orientée objet PHP, y compris les concepts de classes et d'objets, l'utilisation de constructeurs et de destructeurs et le contenu lié au contrôle d'accès. En apprenant et en comprenant ces connaissances de base, nous pouvons mieux utiliser l'approche orientée objet pour développer des programmes PHP et améliorer la maintenabilité et la réutilisabilité du code. Dans les applications pratiques, nous pouvons également apprendre des techniques de programmation orientée objet plus avancées, telles que l'héritage, le polymorphisme, les interfaces, etc., pour améliorer davantage nos programmes.

Matériel de référence :

  • Documentation officielle PHP : http://php.net/
  • Tutoriel PHP W3School : https://www.w3schools.com/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