Maison >développement back-end >tutoriel php >Comment spécifier le niveau d'accès aux fonctions PHP ?

Comment spécifier le niveau d'accès aux fonctions PHP ?

WBOY
WBOYoriginal
2024-04-16 15:51:01429parcourir

Le niveau d'accès d'une fonction PHP précise le niveau d'accès du code : Public : Accessible par n'importe quel code. Protégé : accessible par la même classe ou sous-classes. Privé : Accessible uniquement par la classe dans laquelle la fonction est définie.

PHP 函数的访问权限级别如何指定?

Spécification du niveau d'accès pour les fonctions PHP

En PHP, le niveau d'accès à une fonction spécifie quel code peut accéder à la fonction. Vous pouvez contrôler la visibilité d'une fonction à l'aide de modificateurs d'accès. Voici les niveaux d'accès spécifiés en PHP :

1. Public

  • Le niveau d'accès public permet à n'importe quel code d'accéder à la fonction, qu'il soit dans le même script ou dans un script différent.

Exemple :

public function publicFunction() {
  // 函数代码
}

2. Protégé

  • Le niveau d'accès protégé permet d'accéder à la fonction dans la même classe ou ses sous-classes.

Exemple :

protected function protectedFunction() {
  // 函数代码
}

3. Privé

  • Le niveau d'accès privé permet d'accéder à une fonction uniquement au sein de la classe dans laquelle elle est définie.

Exemple :

private function privateFunction() {
  // 函数代码
}

Cas pratique

Considérons l'exemple suivant où nous avons défini des fonctions dans différentes classes avec différents niveaux d'accès :

class ParentClass {
  public function publicFunction() {
    echo "Public function in parent class";
  }

  protected function protectedFunction() {
    echo "Protected function in parent class";
  }

  private function privateFunction() {
    echo "Private function in parent class";
  }
}

class ChildClass extends ParentClass {
  public function accessFunctions() {
    $this->publicFunction();
    $this->protectedFunction();
    // 错误:对私有函数无访问权限
    $this->privateFunction();
  }
}

// 实例化子类
$child = new ChildClass();

// 调用公共和受保护的函数
$child->publicFunction();
$child->protectedFunction();

Dans cet exemple, la méthode ParentClass 定义了具有不同访问权限级别的函数,而 ChildClass 继承了 ParentClassChildClass 中的 accessFunctions() a accès aux fonctions publiques et protégées , mais pas d'accès aux fonctions privé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