Heim  >  Artikel  >  Backend-Entwicklung  >  Der PHP-Klon überarbeitet die objektorientierte Programmierung

Der PHP-Klon überarbeitet die objektorientierte Programmierung

不言
不言Original
2018-04-08 15:07:43951Durchsuche

Der in diesem Artikel vorgestellte Inhalt ist ein PHP-Klon, der die objektorientierte Programmierung überarbeitet. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.

PHP-Objektkopie
Klonfunktion, ein neues kopieren Bei einem Objekt müssen alle Eigenschaften mit denen des ursprünglichen Fensters übereinstimmen, es muss sich jedoch um ein neues Objekt handeln. (Wenn es sich nicht um ein neues Objekt handelt, wirken sich Änderungen in einem Fenster auf das andere Fenster aus, oder Objekt A enthält einen Verweis auf Objekt B, und wenn Sie Objekt A kopieren, ist das Objekt, das Sie verwenden möchten, nicht mehr Objekt B, sondern Objekt Eine Kopie von B. Zu diesem Zeitpunkt müssen Sie eine Kopie von Objekt A erhalten.)

PHP Deep Copy und Shallow Copy
Ab PHP5 gibt der neue Operator automatisch eine Referenz zurück. Ein Objekt verwendet einen Bezeichner, um auf den eigentlichen Objektinhalt zuzugreifen.
Deep Copy bezieht sich auf das Kopieren der Variablen des referenzierten Objekts nur auf das neue Objekt, das kopiert wurde, und nicht auf das ursprünglich referenzierte Objekt.
Es gibt zwei Möglichkeiten, Deep Copy in PHP zu implementieren: 1️⃣ Klonen 2️⃣ Durch Serialisieren des Objekts wird das Objekt zuerst serialisiert und dann deserialisiert.

ResumeA));

Die __clone-Methode kann keine Parameter haben , es enthält automatisch

dass zwei Zeiger
dieser sich auf die Eigenschaften des aktuellen Objekts bezieht und dieser sich auf die Eigenschaften bezieht des alten Objekts

Klassen und Objekte
Klasse: Eine Sammlung einer Menge von Objekten mit denselben Eigenschaften und Diensten.
Objekt: Das Ergebnis der Klasseninstanziierung ist das Objekt

Konstruktionsmethode:
In einer Klasse kann nur ein Konstruktor deklariert werden, aber der Konstruktor wird bei jeder Erstellung eines Objekts nur einmal aufgerufen. Diese Methode kann nicht aktiv aufgerufen werden und wird daher normalerweise zum Ausführen einiger nützlicher Initialisierungsaufgaben verwendet. Beispielsweise werden den entsprechenden Eigenschaften beim Anlegen des Objekts Initialwerte zugewiesen.

Destruktor
Führen Sie einige aktuelle Vorgänge aus oder schließen Sie einige Funktionen ab, bevor Sie eine Klasse zerstören.
Der Destruktor wird gelöscht, wenn alle Verweise auf ein Objekt gelöscht werden oder wenn das Objekt explizit zerstört wird wird im Speicher zerstört, das heißt, der Destruktor wird aufgerufen, bevor das Objekt im Speicher zerstört wird. Die

-Klasse platziert das Objekt tatsächlich in Form eines Stapels im Speicher, also wenn der Destruktor endgültig ist genannt, folgt es dem Last-In-First-Out-Prinzip

Drei Hauptmerkmale der objektorientierten Programmierung:
Kapselung, Vererbung, Polymorphismus
Kapselung: vereint alle Eigenschaften des Objekts und alle Dienste bilden eine unteilbare unabhängige Einheit (Objekt), Informationen Ausblenden, das heißt, die internen Details des Objekts so weit wie möglich verbergen
Vererbung Einzelvererbung (PHP JAVA, eine abgeleitete Klasse in C++ kann von mehreren Basisklassen abgeleitet werden ) Der neu definierte Datentyp verfügt nicht nur über neu definierte Mitglieder, sondern auch über alte Mitglieder. Wir bezeichnen vorhandene Klassen, die zum Ableiten neuer Klassen verwendet werden, als Basisklassen, auch als übergeordnete Klassen und Superklassen bezeichnet. Eine neue, von einer bestehenden Klasse abgeleitete Klasse wird abgeleitete Klasse oder auch Unterklasse genannt.

PHP-Überladung bezieht sich auf Unterklassen, die vorhandene Methoden der übergeordneten Klasse überschreiben.

final definiert Attributelemente, die nicht von Unterklassen überschrieben werden können.

statische und konstante
statische Beschreibung der Elementeigenschaften und Mitgliedsmethoden sind statisch. Statische Mitglieder können den externen Zugriff einschränken, da statische Mitglieder nicht zu Instanzen von Objekten gehören. Beim ersten Laden der Klasse ist ihnen kein Speicherplatz zugewiesen. Nur die Stärke der Klasse zu teilen, kann die Klasse bis zu einem gewissen Grad schützen.

Static kann nicht auf statische Mitglieder in statischen Methoden zugreifen.

Der Zugriff auf die Mitgliedseigenschaften des const-Modifikators erfolgt auf die gleiche Weise wie auf die statisch geänderten Mitglieder Name. In der Methode wird Self verwendet, es ist jedoch nicht erforderlich, das $-Symbol zu verwenden, und Objekte können nicht für den Zugriff verwendet werden.

Serialisieren Sie das Objekt.

Es gibt zwei Situationen, in denen wir das Objekt serialisieren müssen Die erste Situation besteht darin, ein Objekt zu serialisieren, wenn es über das Netzwerk übertragen wird. Der zweite Fall ist, wenn die Serialisierung von Objekten in Dateien oder Datenbanken geschrieben wird.

Der Parameter der Funktion serialize() ist der Objektname und der Rückgabewert ist eine Zeichenfolge.

Beim Serialisieren eines Objekts wird die Methode __sellp —– (einige Mitgliedsattribute können zu diesem Zeitpunkt ausgeblendet werden) automatisch ausgeführt. Bei der Deserialisierung wird __wakup() —- (hier kann ein Wert zugewiesen werden) ausgeführt Zeit) )Methode.

Die Funktion __sleep() akzeptiert keine Parameter, sondern gibt ein Array zurück, das die Attribute enthält, die serialisiert werden müssen. Nicht enthaltene Attribute werden bei der Serialisierung ignoriert. Wenn keine __sleep()-Methode vorhanden ist, speichert PHP alle Attribute.

PHP-Objekt kopieren

Klonfunktion, kopieren Sie ein neues Objekt. Alle Eigenschaften müssen mit denen des Originalfensters identisch bleiben, es muss sich jedoch um ein neues Objekt handeln. (Wenn es sich nicht um ein neues Objekt handelt, wirken sich Änderungen in einem Fenster auf das andere Fenster aus, oder Objekt A enthält einen Verweis auf Objekt B, und wenn Sie Objekt A kopieren, ist das Objekt, das Sie verwenden möchten, nicht mehr Objekt B, sondern Objekt Eine Kopie von B. Zu diesem Zeitpunkt benötigen Sie eine Kopie von Objekt A.)

PHP Deep Copy und Shallow Copy
Ab PHP5 gibt der neue Operator automatisch eine Referenz zurück. Ein Objekt verwendet einen Bezeichner, um auf den eigentlichen Objektinhalt zuzugreifen.
Deep Copy bezieht sich auf das Kopieren der Variablen des referenzierten Objekts nur auf das neue Objekt, das kopiert wurde, und nicht auf das ursprünglich referenzierte Objekt.
Es gibt zwei Möglichkeiten, Deep Copy in PHP zu implementieren: 1️⃣ Klonen 2️⃣ Durch Serialisieren des Objekts wird das Objekt zuerst serialisiert und dann deserialisiert.

ResumeA));

Die __clone-Methode kann keine Parameter haben , es enthält automatisch

dass zwei Zeiger
dieser sich auf die Eigenschaften des aktuellen Objekts bezieht und dieser sich auf die Eigenschaften bezieht des alten Objekts

Klassen und Objekte
Klasse: Eine Sammlung einer Menge von Objekten mit denselben Eigenschaften und Diensten.
Objekt: Das Ergebnis der Klasseninstanziierung ist das Objekt

Konstruktormethode:
In einer Klasse kann nur ein Konstruktor deklariert werden, aber der Konstruktor wird bei jeder Erstellung eines Objekts nur einmal aufgerufen. Diese Methode kann nicht aktiv aufgerufen werden und wird daher normalerweise zum Ausführen einiger nützlicher Initialisierungsaufgaben verwendet. Beispielsweise werden den entsprechenden Eigenschaften beim Anlegen des Objekts Initialwerte zugewiesen.

Destruktor
Führen Sie einige aktuelle Vorgänge aus oder schließen Sie einige Funktionen ab, bevor Sie eine Klasse zerstören.
Der Destruktor wird gelöscht, wenn alle Verweise auf ein Objekt gelöscht werden oder wenn das Objekt explizit zerstört wird wird im Speicher zerstört, das heißt, der Destruktor wird aufgerufen, bevor das Objekt im Speicher zerstört wird. Die

-Klasse platziert das Objekt tatsächlich in Form eines Stapels im Speicher, also wenn der Destruktor endgültig ist genannt, folgt es dem Last-In-First-Out-Prinzip

Drei Hauptmerkmale der objektorientierten Programmierung:
Kapselung, Vererbung, Polymorphismus
Kapselung: vereint alle Eigenschaften des Objekts und alle Dienste bilden eine unteilbare unabhängige Einheit (Objekt), Informationen Ausblenden, das heißt, die internen Details des Objekts so weit wie möglich verbergen
Vererbung Einzelvererbung (PHP JAVA, eine abgeleitete Klasse in C++ kann von mehreren Basisklassen abgeleitet werden ) Der neu definierte Datentyp verfügt nicht nur über neu definierte Mitglieder, sondern auch über alte Mitglieder. Wir bezeichnen vorhandene Klassen, die zum Ableiten neuer Klassen verwendet werden, als Basisklassen, auch als übergeordnete Klassen und Superklassen bezeichnet. Eine neue, von einer bestehenden Klasse abgeleitete Klasse wird abgeleitete Klasse oder auch Unterklasse genannt.

PHP-Überladung bezieht sich auf Unterklassen, die vorhandene Methoden der übergeordneten Klasse überschreiben.

final definiert Attributelemente, die nicht von Unterklassen überschrieben werden können.

statische und konstante
statische Beschreibung der Elementeigenschaften und Mitgliedsmethoden sind statisch.
Statische Mitglieder können den externen Zugriff einschränken, da statische Mitglieder nicht zu Instanzen von Objekten gehören. Beim ersten Laden der Klasse wird ihnen kein Speicherplatz zugewiesen. Nur die Stärke der Klasse zu teilen, kann die Klasse bis zu einem gewissen Grad schützen.

Static kann nicht auf statische Member in statischen Methoden zugreifen.

Der Zugriff auf die Membereigenschaften des const-Modifikators erfolgt auf die gleiche Weise wie auf die statisch modifizierten Member In der Methode wird Self verwendet, es ist jedoch nicht erforderlich, das $-Symbol zu verwenden, und Objekte können nicht für den Zugriff verwendet werden.

Serialisieren Sie das Objekt.
Es gibt zwei Situationen, in denen wir das Objekt serialisieren müssen Die erste Situation besteht darin, ein Objekt zu serialisieren, wenn es über das Netzwerk übertragen wird. Der zweite Fall ist, wenn die Serialisierung von Objekten in Dateien oder Datenbanken geschrieben wird.

Der Parameter der Funktion serialize() ist der Objektname und der Rückgabewert ist eine Zeichenfolge.

Beim Serialisieren eines Objekts wird die Methode __sellp —– (einige Mitgliedsattribute können zu diesem Zeitpunkt ausgeblendet werden) automatisch ausgeführt. Die Deserialisierung besteht darin, __wakup() —- (kann zu diesem Zeitpunkt Werte zuweisen) auszuführen ) )Methode.

Die Funktion __sleep() akzeptiert keine Parameter, sondern gibt ein Array zurück, das die Attribute enthält, die serialisiert werden müssen. Nicht enthaltene Attribute werden bei der Serialisierung ignoriert. Wenn keine __sleep()-Methode vorhanden ist, speichert PHP alle Attribute.

Verwandte Empfehlungen:

Detaillierte Erläuterung des Zitierens und Klonens in PHP


Das obige ist der detaillierte Inhalt vonDer PHP-Klon überarbeitet die objektorientierte Programmierung. 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
Vorheriger Artikel:PHP Composer-InstallationNächster Artikel:PHP Composer-Installation