Maison  >  Article  >  développement back-end  >  Fonctions PHP de classe et fonctions d'objet

Fonctions PHP de classe et fonctions d'objet

WBOY
WBOYoriginal
2023-05-18 15:12:06719parcourir

PHP est un langage de script côté serveur largement utilisé. Sa large application est principalement due à sa puissante bibliothèque de fonctions. Cet article présentera les fonctions de classe et d'objet des fonctions en PHP.

Dans les bibliothèques de fonctions PHP, il est très courant d'utiliser des classes. Une classe définit toutes les propriétés et méthodes d'un objet, ce qui rend le code plus structuré et organisé. En PHP, une classe est définie via le mot-clé class. Voici un exemple de définition de classe PHP simple :

class MyClass {
  // 属性定义
  public $prop1 = "I'm a class property!";
 
  // 方法定义
  public function setProperty($newval) {
      $this->prop1 = $newval;
  }
 
  public function getProperty() {
      return $this->prop1 . "<br />";
  }
}

Dans le code ci-dessus, nous avons défini une classe appelée MyClass et avons une propriété appelée prop1 et deux appelées setProperty() et la méthode getProperty(). Vous devez utiliser le mot-clé $this lors de l'attribution de propriétés et de l'appel de méthodes.

Ensuite, nous pouvons créer une instance de MyClass et accéder à ses propriétés et méthodes :

$obj = new MyClass;

echo $obj->prop1; // 输出 "I'm a class property!"

$obj->setProperty("I'm a new property value!");

echo $obj->getProperty(); // 输出 "I'm a new property value!"

Dans le code ci-dessus, nous créons une instance nommée $obj et accédons à la classe en utilisant la syntaxe $obj->prop1 La valeur de l'attribut. Ensuite, nous appelons la méthode setProperty() pour modifier la valeur de la propriété prop1. Enfin, nous appelons à nouveau la méthode getProperty() pour voir la nouvelle valeur de la propriété prop1.

En plus des classes PHP ordinaires, il existe également un type spécial de classe appelé classe abstraite. Les classes abstraites ne peuvent pas être instanciées et ne sont utilisées que pour dériver d'autres classes. Les méthodes des classes abstraites peuvent ou non contenir des implémentations. Si une méthode est déclarée abstraite, les classes dérivées doivent implémenter cette méthode. Ce qui suit est un exemple simple de définition de classe abstraite PHP :

abstract class AbstractClass {
    // 强制要求子类定义这些方法
    abstract protected function getValue();
    abstract protected function prefixValue($prefix);
 
    // 普通方法
    public function printOut() {
        print $this->getValue() . "<br/>";
    }
}

Dans le code ci-dessus, nous avons créé une classe abstraite nommée AbstractClass et défini deux méthodes abstraites nommées getValue() et prefixValue(). Ensuite, nous définissons une méthode normale appelée printOut(). Les méthodes abstraites d’une classe peuvent être remplacées par n’importe quelle sous-classe qui implémente cette classe.

En plus des classes PHP ordinaires et des classes abstraites, PHP fournit également un type spécial de classe appelé interface. Les interfaces sont similaires aux classes abstraites, mais elles ne peuvent contenir aucune implémentation, uniquement des signatures de méthode. Une classe peut implémenter une ou plusieurs interfaces, et lors de l'implémentation d'une interface, elle doit implémenter toutes les méthodes déclarées dans l'interface. Ce qui suit est un exemple simple de définition d'interface PHP :

interface MyInterface {
    public function getValue();
    public function setValue($value);
}

Dans le code ci-dessus, nous créons une interface nommée MyInterface et définissons deux méthodes getValue() et setValue(). Dans la classe qui implémente cette interface, ces deux méthodes doivent être implémentées.

Résumé : Parmi les fonctions de classe et d'objet des fonctions PHP, la classe est un concept couramment utilisé dans les bibliothèques de fonctions PHP. Les classes en PHP peuvent définir des propriétés et des méthodes, ce qui rend le code plus structuré et organisé. Les classes abstraites et les interfaces sont des types spéciaux de classes. Dans les classes abstraites, les méthodes peuvent contenir ou non une implémentation, alors que dans les interfaces, les méthodes ne contiennent que des déclarations de méthode. Lors de l'implémentation d'une classe ou d'une interface abstraite, toutes les méthodes qui y sont déclarées doivent être implémentées.

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