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

May 26, 2018 am 10:51 AM
php Was 属性 详解

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP arbeitet mit Datenbank CakePHP arbeitet mit Datenbank Sep 10, 2024 pm 05:25 PM

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

See all articles