Heim > Backend-Entwicklung > PHP-Tutorial > Was sind PHP-Klassen? Detaillierte Erläuterung der Attribute der PHP-Klasse

Was sind PHP-Klassen? Detaillierte Erläuterung der Attribute der PHP-Klasse

伊谢尔伦
Freigeben: 2023-03-11 13:22:01
Original
17168 Leute haben es durchsucht

Klassenkonzept: Eine Klasse ist eine Sammlung von Objekten mit denselben Attributen und Operationen. Es bietet eine einheitliche abstrakte Beschreibung für alle zu dieser Klasse gehörenden Objekte, die zwei Hauptteile umfasst: Attribute und Operationen. In der Programmiersprache von objektorientiert ist eine Klasse eine unabhängige Programmeinheit. Sie sollte einen Klassennamen haben und zwei Hauptteile enthalten: Attributbeschreibung und Operationsbeschreibung.

1. Klassendefinition:

i. Die Schlüsselwortdefinition der Klasse

1. Definieren Sie eine leere Klasse

Klassenperson{}.

2. Definieren Sie eine Klasse mit Mitgliedsattributen und Operationen

Klassenperson{

Mitgliedsattribute.....

Operationen ..... ...

}

3. Definieren Sie eine Klasse, die nicht vererbt werden kann, verwenden Sie das letzte Schlüsselwort

Final class Person{

Member attributes.. .

Operation...

}

4. Hinweis: Das Schlüsselwort final kann nicht verwendet werden. Durch das Ändern von Mitgliedsattributen können nur Klassen und Methoden geändert werden (endgültige Methoden werden später vorgestellt). )

5. Hier ist eine Klasse mit final

Definieren Sie eine finale Klasse FinalClass, einschließlich einer öffentlichen Funktion

final class FinalClass {
public function ffun() {
echo “本类为final类”;
}
}
Nach dem Login kopieren

Definieren Sie eine Klasse ChildFinalClass und erben Sie die FinalClass-Klasse

class ChildFinalClass extends FinalClass {
public function fchildfun() {
echo ‘本类继承final类FinalClass ’;
}
}
Nach dem Login kopieren

Auf diese Weise fordert das System bei Ausführung des obigen Befehls

Schwerwiegender Fehler: Die Klasse ChildFinalClass erbt möglicherweise nicht von der endgültigen Klasse (FinalClass)

Beweist dass die durch das letzte Schlüsselwort definierte Klasse nicht von Unterklassen geerbt werden kann

2. Definition von Mitgliedsattributen in der Klasse

i Mitgliedsattribute sind einige definierte Variablenattribute die Klasse. Als Klasse haben Menschen ein Paar Augen (normal, außer Erlangshen), einen Mund, zwei Ohren usw. Die Eigennamen, die verwendet werden, um etwas zu beschreiben oder auszudrücken, werden Mitgliedsattribute genannt

ii. Die Deklaration von Mitgliedsattributen in einer Klasse verwendet das Schlüsselwort

iii. Allgemeine Mitgliedsattributdeklarationen werden von vorgenommen. Die folgenden Schlüsselwörter beginnen mit
public, var, protected, private und werden von einer Variablen gefolgt. Es gibt auch einige Mitgliedsattribute, darunter statische und konstante Konstanten.

Öffentlich: Gibt global an und kann von Unterklassen innerhalb und außerhalb der Klasse aufgerufen werden

Var: Dieses Mitgliedsattribut wird in berücksichtigt PHP 5-Version Attribute des öffentlichen Typs

geschützt bedeutet geschützt und kann nur von dieser Klasse oder Unterklasse oder übergeordneten Klasse aufgerufen werden

privat
bedeutet privat und kann nur innerhalb dieser Klasse verwendet werden

Statisch: 1) Statische Attribute,

2) Mit Statik geänderte Mitgliedsattribute können von allen Objekten derselben Klasse gemeinsam genutzt werden

3) Statisch Daten sind im Datensegment im Speicher vorhanden, wenn die Klasse zum ersten Mal geladen wird (Initialisierung des statischen Segments)

4) Verwenden Sie den Attributnamen self:: member in der Klasse

5) Außerhalb die Klasse Klassenname:: Mitgliedsattributname

Const: 1) Konstantes Attribut in der Klasse, Sie müssen const

verwenden, um eine Konstante in der Klasse zu deklarieren 2) Verwenden Sie self:: Mitgliedsattribut im Klassennamen

3) Verwendung außerhalb der Klasse Klassenname::Member-Attributname

Hinweis: Die Variablen im Attribut können initialisiert werden, der initialisierte Wert muss jedoch eine Konstante sein Konstante bezieht sich hier auf das PHP-Skript in Es handelt sich um eine Konstante während der Kompilierungsphase und nicht um eine Konstante, die während der Laufzeitphase nach der Kompilierungsphase berechnet wird. Beispielsweise darf es keine Operatoren enthalten, keine Variablen sein, keine Funktion sein usw.

iv. So rufen Sie Mitgliedseigenschaften auf:

In der Mitgliedsmethode der Klasse können Sie $this->property verwenden (Eigenschaft ist der Eigenschaftsname). . Um auf die Eigenschaften und Methoden einer Klasse zuzugreifen, kann jedoch nicht auf die statischen Eigenschaften einer Klasse oder in einer statischen Methode zugegriffen werden. Verwenden Sie stattdessen self::$property. Die Pseudovariable $this kann in nicht statischen Methoden einer Klasse verwendet werden. Diese Pseudovariable ist eine Referenz auf das instanziierte Objekt, das die Methode aufruft.

Als nächstes erkläre ich den obigen Inhalt mit Code:

class FinalClass {
//static $a = strTolower();   //这种写法错误
//const  A = 1+2;              //这种写法错误
//public $name = 123+456;     //这种写法错误
static $a = '$a';
const  A = 'A';
public $name = '凤姐';
protected $sex = '男+女';
private $age = 23;
}
class ChildFinalClass extends FinalClass{
public function fchildfun(){
echo &#39;ChildFinalClass类中ChildFinalClass::$a->&#39;.ChildFinalClass::$a."<hr>";
Echo &#39;ChildFinalClass类中ChildFinalClass::A->&#39;.ChildFinalClass::A."<hr>";
echo &#39;大家好,我叫&#39;.$this->name."<hr>";
echo &#39;我是:&#39;.$this->sex.&#39;生<hr>&#39;;
echo &#39;我今年:&#39;.$this->age.&#39;<hr>&#39;;   
//由于age是私有的成员属性,所以在这里将不会被调用,将提示没有定义此属性在ChildFinalClass类中。
 
}
}
$obj = new ChildFinalClass();
$obj->fchildfun();
Nach dem Login kopieren

3. Definition von Operationen in einer Klasse

i. Ich nenne Operationen im Allgemeinen gerne als Methoden Im Folgenden werde ich Operationen als Methoden bezeichnen, aber sie sind alle gleich

ii Definition von Mitgliedsmethoden: Mitgliedsmethoden sind einige für die Klasse definierte Funktionsmethoden kann essen, kann laufen, kann Code eingeben, das sind Mitgliedsmethoden. Das heißt, Sie können einige ausführbare Aktionen ausführen, die wir als Mitgliedsmethoden verstehen

iii Informationen zum Zugriff auf Mitgliedsmethoden und Mitgliedsattribute finden Sie in der Einführung zum Zugriff auf Mitgliedsattribute oben.

iv. Zu den Mitgliedsmethoden und Mitgliedsattributen gehören auch „public“, „protected“, „private“, „static“ und „final“, und der Gültigkeitsbereich ist derselbe. Hier sind einige Beispiele für Ihre Referenz und Ihr Verständnis.

v. Statische Member-Methoden können nur auf statische Member-Eigenschaften und Member-Methoden zugreifen, und Sie können self::static method() verwenden, um auf statische Methoden innerhalb der Klasse zuzugreifen, und class name::static method() verwenden um auf die externe Klasse zuzugreifen. )

1. Benutzerdefinierte Methoden:

class FinalClass {
static $a = &#39;$a&#39;;
const  A = &#39;A&#39;;
public $name = &#39;凤姐&#39;;
protected $sex = &#39;男+女&#39;;
private $age = 23;
 
    //定义一个公共方法
public function publickfun(){
echo &#39;FinalClass类中self::$a->&#39;.self::$a."<hr>";
echo "FinalClass类中self::A->".self::A."<hr>";
echo &#39;大家好,我叫:&#39;.$this->name."<hr>";
echo &#39;我是:&#39;.$this->sex.&#39;生<hr>&#39;;
echo &#39;我今年:&#39;.$this->age.&#39;<hr>&#39;;
}
 
//定义一个受保护的方法
protected function protectedfun(){
echo &#39;FinalClass类中self::$a->&#39;.self::$a."<hr>";
echo "FinalClass类中self::A->".self::A."<hr>";
echo &#39;大家好,我叫:&#39;.$this->name."<hr>";
echo &#39;我是:&#39;.$this->sex.&#39;生<hr>&#39;;
echo &#39;我今年:&#39;.$this->age.&#39;<hr>&#39;;
}
    //定义一个私用方法
private function privatefun(){
echo &#39;FinalClass类中self::$a->&#39;.self::$a."<hr>";
echo "FinalClass类中self::A->".self::A."<hr>";
echo &#39;大家好,我叫:&#39;.$this->name."<hr>";
echo &#39;我是:&#39;.$this->sex.&#39;生<hr>&#39;;
echo &#39;我今年:&#39;.$this->age.&#39;<hr>&#39;;
}
}
class ChildFinalClass extends FinalClass{
public function fchildfun(){
echo &#39;ChildFinalClass类中ChildFinalClass::$a->&#39;.ChildFinalClass::$a."<hr>";
 
Echo &#39;ChildFinalClass类中ChildFinalClass::A->&#39;.ChildFinalClass::A."<hr>";
 
echo &#39;我是:&#39;.$this->sex.&#39;生<hr>&#39;;
 
echo &#39;我今年:&#39;.$this->age.&#39;<hr>&#39;;   
//由于age是私有的成员属性,可以理解为我不想让别人知道我的年龄,所以在这里将不会被调用,将提示没有定义此属性在ChildFinalClass类中。
 
$this->publickfun();
 
$this->protectedfun();
 
$this->privatefun();            
//由于privatefun是私有的成员方法,所以在这里将不会被调用。
}
}
$obj = new ChildFinalClass();
$obj->fchildfun();
Nach dem Login kopieren


i. alle anderen magischen Methoden Es muss so sein

ii. Ab PHP 5 und höher können Klassen in PHP magische Methoden verwenden. Es legt fest, dass Methoden, die mit zwei Unterstrichen () beginnen, als magische Methoden reserviert sind. Daher wird empfohlen, dass alle Funktionsnamen nicht mit ihnen beginnen, es sei denn, die vorhandenen magischen Methoden werden überlastet. Als nächstes werden einige magische Methoden aufgelistet Ausarbeiten Um zu verstehen, können Sie eine bestimmte Frage abfragen und verstehen, daher werde ich sie hier nicht im Detail vorstellen.

1. construction() Konstruktionsmethode

destruct()

Zerstörungsmethode

2 , clone()

Wenn Sie ein Objekt kopieren möchten, müssen Sie die Methode clone verwenden

3 Die Methode toString()

wird beim Konvertieren eines Objekts automatisch aufgerufen Wenn Sie beispielsweise echo zum Drucken von Objekten verwenden, verwenden Sie

wakeup. Rufen Sie beim Deserialisieren

5 auf.

Wenn var_export() aufgerufen wird, wird diese statische Methode aufgerufen (gültig seit PHP 5.1.0)

6. invoke (gültig in PHP 5.3.0 oder höher)

Wann Versuchen Sie es: Wenn Sie ein Objekt durch Aufrufen einer Funktion aufrufen, wird die Aufrufmethode automatisch aufgerufen.


7. callStatic (gültig für PHP 5.3.0 oder höher) dient zur Verarbeitung statischer Methodenaufrufe

8. Diese Methode wird ausgelöst, wenn eine undefinierte Eigenschaft aufgerufen wird übergeben ist der Name der Eigenschaft, auf die zugegriffen wird.

set() Wenn einer undefinierten Eigenschaft ein Wert zugewiesen wird, wird diese Methode ausgelöst. Die übergebenen Parameter sind der Eigenschaftsname und der festzulegende Wert. Die Nichtdeklaration umfasst hier Attribute, deren Zugriffskontrolle geschützt und privat ist (d. h. Attribute, die keine Zugriffsberechtigung haben), wenn sie über ein Objekt aufgerufen werden.

9. isset() Diese Methode wird aufgerufen, wenn die Funktion isset() für ein undefiniertes Attribut aufgerufen wird.

unset() Wenn die Funktion unset() für ein undefiniertes Attribut aufgerufen wird. Diese Methode wird aufgerufen, wenn

10. call( $method, $arg_array )

Wenn eine undefinierte Methode aufgerufen wird, wird diese Methode aufgerufen


Die undefinierte Methode enthält hier keine Berechtigung zum Zugriff auf die Methode; Wenn die Methode nicht vorhanden ist, suchen Sie in der übergeordneten Klasse nach der Methode. Wenn sie in der übergeordneten Klasse nicht vorhanden ist, rufen Sie die Methode call() dieser Klasse auf. Gehen Sie zur übergeordneten Klasse call()-Methode.

11. autoload()

Automatisches Laden

Magische Methode

Das obige ist der detaillierte Inhalt vonWas sind PHP-Klassen? Detaillierte Erläuterung der Attribute der PHP-Klasse. 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