Heim >Backend-Entwicklung >PHP-Tutorial >So definieren Sie Klassen und ihre Mitgliedseigenschaften in PHP

So definieren Sie Klassen und ihre Mitgliedseigenschaften in PHP

怪我咯
怪我咯Original
2017-06-28 13:32:422796Durchsuche

Das Konzept der Klasse: Eine Klasse ist eine Sammlung von Objekten mit denselben Eigenschaften 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. Klassenschlüsselwortdefinition

Definieren Sie eine leere Klasse mit Mitgliedsattributen und Operationen

Class Person{};

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

Class Person{
成员属性........
操    作........
}

4. Hinweis: Das letzte Schlüsselwort kann nicht zum Ändern von Mitgliedern verwendet werden Attribute, Sie können nur Klassen und Methoden ändern (endgültige Methoden werden später eingeführt)

Final class Person{
成员属性........
操    作........
}
5. Hier ist eine Klasse mit final

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

Definieren Sie eine Klasse ChildFinalClass und erben Sie die Klasse FinalClass

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

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

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

Bewiesen durch das letzte Schlüsselwort Die definierte Klasse kann nicht von Unterklassen geerbt werden

Fatal error: Class ChildFinalClass may not inherit from final class (FinalClass)
2 Definition von Mitgliedsattributen in der Klasse

i Mitgliedsattribute sind einige für die Klasse definierte Variablenattribute, die als a Klasse Man sagt, dass jeder ein Paar Augen (normal, außer Erlangshen), einen Mund, zwei Ohren usw. hat. Einige feste Eigennamen, die zur Beschreibung oder zum Ausdruck bestimmter Dinge verwendet werden, werden Mitgliedsattribute genannt

ii Schlüsselwörter, die bei der Deklaration von Mitgliedsattributen in einer Klasse verwendet werden, sind

iii. Gängige Mitgliedsattributdeklarationen beginnen mit den folgenden Schlüsselwörtern:

public, var, protected, private, gefolgt von „composite of“. Variablen. Es gibt auch einige Mitgliedsattribute, einschließlich statischer, konstanter Konstanten.

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

Var: Dieses Mitgliedsattribut wird 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) Statische Daten Es existiert im Datensegment im Speicher, wenn die Klasse zum ersten Mal geladen wird (Initialisierung des statischen Segments)

4) Verwenden Sie self:: Member-Attributname in der Klasse

                        5) Klasse extern Klassenname:: Mitgliedsattributname

Const: 1) Konstantenattribute in der Klasse. Bei der Deklaration von Konstanten in der Klasse muss const

verwendet werden.                   2) Verwenden Sie self:: Mitgliedsattributname in die Klasse

3) Outreach-Verwendung von Klassenname :: Mitgliedsattributname

Hinweis: Variablen im Attribut können initialisiert werden, aber die Initialisierung muss konstant sein Konstante, keine Konstante, die zur Laufzeit 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:

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

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:

i. Magic-Methoden müssen als öffentlich definiert werden magische Methoden müssen 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 aufgeführt 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 zum Beispiel echo zum Drucken von Objekten verwenden, verwenden Sie

4, beim Serialisieren verwenden Sie

wakeup, beim Deserialisieren rufen Sie

5 auf. set_state()

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)

Beim Versuch, ein Objekt als Funktion aufzurufen, wird die Invoke-Methode automatisch aufgerufen.

7. callStatic (gültig für PHP 5.3.0 und 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 undefinierten Methoden hier umfassen eine Methode ohne Zugriffsberechtigung; wenn die Methode nicht vorhanden ist, suchen Sie nach der Methode. Wenn sie in der übergeordneten Klasse nicht vorhanden ist, rufen Sie die Methode call() dieser Klasse auf Suchen Sie in dieser Klasse nach der Methode call() in der übergeordneten Klasse.

11. autoload() Automatisches LadenMagische Methode


Das obige ist der detaillierte Inhalt vonSo definieren Sie Klassen und ihre Mitgliedseigenschaften in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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