Maison >développement back-end >Problème PHP >Quels sont les modificateurs d'autorisation d'accès PHP ?

Quels sont les modificateurs d'autorisation d'accès PHP ?

WBOY
WBOYoriginal
2022-06-30 16:11:082933parcourir

Il existe trois types de modificateurs d'autorisation d'accès PHP : 1. public, ce qui signifie partagé, avec la plus grande étendue d'autorisations et accessible n'importe où ; 2. protégé, ce qui signifie protégé, hérité et ne peut être utilisé que par le la classe elle-même et les membres internes de la classe sont accessibles ; 3. Private signifie privé et n'est accessible qu'entre les accolades de la définition de la classe.

Quels sont les modificateurs d'autorisation d'accès PHP ?

L'environnement d'exploitation de cet article : système Windows 10, PHP version 8.1, ordinateur Dell G3

Quels sont les types de modificateurs d'autorisation d'accès PHP

Il en existe trois types :

  • public Partagé

  • protected protégé, hérité

  • private private

Introduction détaillée :

public :

Les types publics peuvent être utilisés à l'intérieur de la classe, dans les sous-classes ou à l'extérieur de la classe. classe, sans restriction

Caractéristiques : appelable en externe, appelable en interne, appelable en sous-classe

Dans la sous-classe, vous pouvez appeler des méthodes ou des propriétés publiques via self::var, parent::method appelle la méthode de la classe parent

dans l'instance Il est possible d'appeler méthodes ou propriétés des types publics via $obj->var

protected :

Les types protégés peuvent être utilisés à l'intérieur de la classe et des sous-classes, mais ne peuvent pas être utilisés en dehors de la classe

Caractéristiques : ils ne peuvent pas être appelés en externe, mais il peut être appelé en interne par les sous-classes

Dans les sous-classes, les méthodes ou propriétés protégées peuvent être appelées via self::var, et parent::method peut appeler les méthodes de la classe parent

Dans les instances, $obj-> ne peut pas être utilisé ;var pour appeler des méthodes ou des propriétés de types protégés

private :

Les types privés ne peuvent être utilisés qu'à l'intérieur de la classe et ne peuvent pas être utilisés en dehors de la classe ou dans des sous-classes.

Caractéristiques : non appelable en externe, appelable en interne, non appelable par les sous-classes

Les attributs ou méthodes de ce type ne peuvent être utilisés que dans cette classe et ne peuvent pas être appelés dans les instances de cette classe, les sous-classes ou les instances de sous-classes Propriétés de type privé et méthodes

Les exemples sont les suivants :

Lors de la création d'une méthode, si elle n'est pas spécifiée, la valeur par défaut est public

<?php
 class EMBA_student  // 声明EMBA学生类
      {
          //用private来定义私有类的属性
          private $no; //序号
          private $name; // 姓名
          private $gender; //性别
          private $age; //年龄
          //方法
          //方法1 ,私有方法,输出年龄
       private   function show_age()
          {
  echo"我的年龄是:$this->age<br />";
              }
//方法2,公有方法,回答年龄
public function ask_age()
{
    $this->show_age();
    }
//方法3,设置数据
function set_data($arr){
    $this->no=$arr["no"];
        $this->name=$arr["name"];
            $this->gender=$arr["gender"];
                $this->age=$arr["age"];
    }
          }
 //实例化一个对象
 $s=new EMBA_student;
 $arr=array("no"=>"1","name"=>"Qian Zhang","gender"=>"Female","age"=>"33","department"=>"商业营销");
 $s->set_data($arr);
//echo $s->age;//Fatal error: Cannot access private property EMBA_student::$age in C:\xampp\htdocs\v\v.php on line 47
//$s->show_age(); //Fatal error: Call to private method EMBA_student::show_age() from context &#39;&#39; in C:\xampp\htdocs\v\v.php on line 48
 $s->ask_age();
  ?>

Apprentissage recommandé : "Tutoriel vidéo 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
Article précédent:que signifie substr en phpArticle suivant:que signifie substr en php