Heim > Backend-Entwicklung > PHP-Problem > Was sind die Zugriffsberechtigungen für Klassenmethoden in PHP?

Was sind die Zugriffsberechtigungen für Klassenmethoden in PHP?

青灯夜游
Freigeben: 2023-03-15 11:48:01
Original
3771 Leute haben es durchsucht

Es gibt drei Arten von Zugriffsberechtigungen für Klassenmethoden in PHP: 1. Öffentlicher Typ (öffentlich), der innerhalb der Klasse, in Unterklassen oder außerhalb der Klasse ohne Einschränkungen verwendet werden kann; 2. Geschützter Typ (geschützt 3). Der private Typ (privat) kann nur innerhalb der Klasse verwendet werden und kann nicht außerhalb der Klasse oder in Unterklassen verwendet werden.

Was sind die Zugriffsberechtigungen für Klassenmethoden in PHP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP Version 7.1, DELL G3-Computer

Member-Methoden in einer Klasse

In einer Klasse definierte Funktionen werden Member-Methoden genannt. Der einzige Unterschied zwischen Funktionen und Mitgliedsmethoden besteht darin, dass Funktionen eine unabhängige Funktion implementieren, während Mitgliedsmethoden ein Verhalten in der Klasse implementieren und Teil der Klasse sind.

Sie können mehrere Mitgliedsmethoden in einer Klasse deklarieren. Die Deklaration von Mitgliedsmethoden ist genau die gleiche wie die Deklaration von Funktionen. Bei der Deklaration von Mitgliedsmethoden können Sie jedoch einige Zugriffsrechtemodifikatoren vor dem Funktionsschlüsselwort hinzufügen, um den Zugriff zu steuern Rechte wie öffentlich, privat, geschützt usw.

Methodenzugriffsrechte

Es gibt drei Zugriffsrechte:

öffentlich: öffentlicher Typ, kann innerhalb der Klasse, in Unterklassen oder außerhalb der Klasse ohne Einschränkungen verwendet werden

Eigenschaften: Extern aufrufbar, intern aufrufbar , Unterklasse aufrufbar

In der Unterklasse können Sie öffentliche Methoden oder Eigenschaften über self::var aufrufen, parent::method kann die Methode der übergeordneten Klasse aufrufen

In der Instanz können Sie $obj- >var übergeben, um Methoden aufzurufen oder Eigenschaften des öffentlichen Typs

geschützt: geschützter Typ, kann innerhalb der Klasse und Unterklassen verwendet werden, kann jedoch nicht außerhalb der Klasse verwendet werden

Eigenschaften: nicht extern aufrufbar, intern aufrufbar. Unterklassen können

In Unterklassen geschützte Methoden aufrufen oder Eigenschaften können über self::var aufgerufen werden, und parent::method kann übergeordnete Klassenmethoden aufrufen

In einigen Fällen können geschützte Typmethoden oder Methoden nicht über $obj->var aufgerufen werden ,

kann nur innerhalb der Klasse verwendet werden und kann nicht außerhalb der Klasse oder in Unterklassen verwendet werden.

Eigenschaften: Nicht extern aufrufbar, intern aufrufbar, nicht durch Unterklassen aufrufbar

Attribute oder Methoden dieses Typs können nur in dieser Klasse verwendet werden und können nicht in Instanzen dieser Klasse, Unterklassen oder Instanzen von Attributen privater Unterklassen aufgerufen werden und Methoden

Erklärung:

Wenn beim Erstellen einer Methode diese nicht angegeben wird, wird sie standardmäßig auf öffentlich gesetzt.

<?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();

  ?>
Nach dem Login kopieren

Ergebnis:

我的年龄是:33
Nach dem Login kopieren

Ergänzung: Der Unterschied zwischen Selbst und Eltern

a). Diese beiden Objekte werden häufig in Unterklassen verwendet. Ihr Hauptunterschied besteht darin, dass self öffentliche oder geschützte Eigenschaften in der übergeordneten Klasse aufrufen kann, parent jedoch nicht

b).self:: Es repräsentiert die statischen Mitglieder (Methoden und Eigenschaften) der aktuellen Klasse, im Gegensatz zu $this, $ this bezieht sich auf das aktuelle Objekt

Empfohlenes Lernen: „

PHP Video Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Zugriffsberechtigungen für Klassenmethoden in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage