Maison  >  Article  >  développement back-end  >  Comment utiliser le type de données objet en PHP

Comment utiliser le type de données objet en PHP

王林
王林original
2023-07-15 11:30:031404parcourir

Comment utiliser le type de données objet en PHP

En PHP, un objet est un type de données spécial qui peut être utilisé pour représenter des entités du monde réel ou des concepts abstraits. Les objets sont créés via des classes qui définissent les propriétés et les méthodes de l'objet. Dans cet article, nous apprendrons comment utiliser les types de données objet en PHP et passerons en revue des exemples de code pour approfondir notre compréhension.

Créer une classe
En PHP, nous pouvons utiliser le mot-clé class pour créer une classe. Une classe peut contenir plusieurs propriétés et méthodes. Voici un exemple simple :

class Person {
  public $name;
  public $age;
  
  public function sayHello() {
    echo "Hello, my name is " . $this->name . ".";
    echo " I am " . $this->age . " years old.";
  }
}

Dans cet exemple, nous créons une classe nommée Person, qui possède deux propriétés publiques $name et $age, et une méthode publique sayHello. Les propriétés peuvent être utilisées pour stocker l'état d'un objet, tandis que les méthodes sont utilisées pour définir le comportement de l'objet.

Création d'un objet
Pour créer un objet, nous devons utiliser le nouveau mot-clé suivi du nom de la classe et les paramètres peuvent être passés à l'aide de parenthèses. Voici un exemple de création d'un objet Person :

$person = new Person();

Après avoir créé un objet, nous pouvons utiliser la syntaxe de la flèche -> pour accéder aux propriétés et méthodes de l'objet. Par exemple, nous pouvons attribuer des valeurs aux attributs $name et $age et appeler la méthode sayHello :

$person->name = "John";
$person->age = 30;
$person->sayHello(); // 输出:Hello, my name is John. I am 30 years old.

Inheritance
PHP prend en charge l'héritage de classe, nous pouvons créer une nouvelle classe qui hérite des propriétés d'une classe existante. et méthodes, et pouvez ajouter vos propres propriétés et méthodes. Par exemple, nous pouvons créer une classe Student qui hérite de la classe Person :

class Student extends Person {
  public $grade;
  
  public function sayGrade() {
    echo "I am in grade " . $this->grade . ".";
  }
}

Dans cet exemple, la classe Student hérite de toutes les propriétés et méthodes de la classe Person, et ajoute une nouvelle propriété $grade et une nouvelle méthode sayGrade.

Créez un objet Student et appelez ses méthodes :

$student = new Student();
$student->name = "Jane";
$student->age = 18;
$student->grade = 12;

$student->sayHello(); // 输出:Hello, my name is Jane. I am 18 years old.
$student->sayGrade(); // 输出:I am in grade 12.

Encapsulation et contrôle d'accès
L'encapsulation en PHP est un mécanisme pour protéger les propriétés et les méthodes des objets. Nous pouvons utiliser des modificateurs de contrôle d'accès pour restreindre l'accès aux autorisations des propriétés et des méthodes. Trois modificateurs de contrôle d'accès sont disponibles : public, protégé et privé.

  • public : les droits d'accès publics, les propriétés et les méthodes sont accessibles à l'intérieur et à l'extérieur de la classe.
  • protected : l'accès, les propriétés et les méthodes protégés sont accessibles à l'intérieur de la classe et dans les sous-classes.
  • private : les droits d'accès privés, les propriétés et les méthodes ne sont accessibles qu'au sein de la classe.

Voici un exemple d'utilisation du contrôle d'accès :

class Car {
  public $brand;
  protected $price;
  private $mileage;
  
  public function __construct($brand, $price, $mileage) {
    $this->brand = $brand;
    $this->price = $price;
    $this->mileage = $mileage;
  }
  
  public function displayInformation() {
    echo "Brand: " . $this->brand . "<br>";
    echo "Price: " . $this->price . "<br>";
    echo "Mileage: " . $this->mileage . "<br>";
  }
  
  protected function calculateValue() {
    return $this->price - $this->mileage;
  }
  
  private function getMileage() {
    return $this->mileage;
  }
}

$car = new Car("Toyota", 20000, 50000);

$car->displayInformation(); // 输出:Brand: Toyota   Price: 20000   Mileage: 50000
echo $car->brand; // 输出:Toyota

// 以下行代码会报错,因为$price和$mileage属性具有受保护和私有访问权限,无法在类外部访问:
//echo $car->price;
//echo $car->mileage;

// 以下行代码会报错,因为calculateValue和getMileage方法具有受保护和私有访问权限,无法在类外部访问:
//echo $car->calculateValue();
//echo $car->getMileage();

Dans cet exemple, nous créons une classe Car avec un attribut public marque, un attribut protégé prix et un attribut kilométrage privé, ainsi qu'une méthode publique displayInformation, un attribut protégé méthode calculateValue et une méthode privée getMileage.

Résumé
Dans cet article, nous avons appris à utiliser les types de données objet en PHP. Nous avons appris à créer une classe, à créer un objet et à accéder aux propriétés et méthodes de l'objet via la syntaxe des flèches. Nous avons également appris les concepts d'héritage de classe, d'encapsulation et de contrôle d'accès et les avons mis en pratique avec un exemple de code. En comprenant et en utilisant efficacement les types de données objet, nous pouvons mieux utiliser les fonctionnalités de programmation orientée objet de PHP pour concevoir et développer des applications complexes.

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