Heim  >  Artikel  >  Backend-Entwicklung  >  Drei Hauptmerkmale der objektorientierten PHP-Methode

Drei Hauptmerkmale der objektorientierten PHP-Methode

angryTom
angryTomOriginal
2019-08-22 11:06:244185Durchsuche

Drei Hauptmerkmale der objektorientierten PHP-Methode

Objektorientiert entstand, als es viele Probleme mit strukturierten Entwurfsmethoden gab. Die grundlegende Strategie der strukturierten Entwurfsmethode zur Lösung von Problemen besteht darin, den Problembereich aus einer funktionalen Perspektive zu untersuchen. Im Folgenden stellen wir Ihnen die drei wichtigsten objektorientierten Funktionen von PHP vor.

Empfohlenes Tutorial: PHP-Video-Tutorial

Die drei Hauptfunktionen sind: Kapselung und Vererbung, Polymorphismus

Kapselung

Die sogenannte Kapselung besteht darin, objektive Dinge in abstrakte Klassen und Klassen zu kapseln Sie können nur vertrauenswürdigen Klassen oder Objekten erlauben, Ihre Daten und Methoden zu verarbeiten und Informationen vor nicht vertrauenswürdigen Klassen oder Objekten zu verbergen.

Kapselung ist eines der Merkmale der Objektorientierung und das Hauptmerkmal von Objekt- und Klassenkonzepten. Einfach ausgedrückt ist eine Klasse eine logische Einheit, die Daten und Code kapselt, der mit diesen Daten arbeitet. Innerhalb eines Objekts können einige Codes oder Daten privat sein und für die Außenwelt nicht zugänglich sein. Auf diese Weise bieten Objekte unterschiedliche Schutzniveaus für interne Daten, um zu verhindern, dass unabhängige Teile des Programms versehentlich Änderungen vornehmen oder die privaten Teile des Objekts falsch verwenden.

Vererbung

Die sogenannte Vererbung bezieht sich auf eine Methode, die es einem Objekt eines bestimmten Typs ermöglicht, die Eigenschaften eines Objekts von zu erhalten ein anderer Typ. Es unterstützt das Klassifizierungskonzept.

Vererbung bezieht sich auf die Fähigkeit, die gesamte Funktionalität einer vorhandenen Klasse zu nutzen und diese Funktionalität zu erweitern, ohne die ursprüngliche Klasse neu schreiben zu müssen. Die durch Vererbung erstellte neue Klasse wird als „Unterklasse“ oder „abgeleitete Klasse“ bezeichnet, und die geerbte Klasse wird als „Basisklasse“, „übergeordnete Klasse“ oder „Superklasse“ bezeichnet. Der Prozess der Vererbung ist der Prozess vom Allgemeinen zum Besonderen. Um eine Vererbung zu erreichen, können Sie dies über „Vererbung“ und „Zusammensetzung“ erreichen. Es gibt zwei Arten von Möglichkeiten, das Konzept der Vererbung zu implementieren: Implementierungsvererbung und Schnittstellenvererbung. Implementierungsvererbung bezieht sich auf die Möglichkeit, die Eigenschaften und Methoden einer Basisklasse ohne zusätzliche Codierung zu verwenden. Schnittstellenvererbung bezieht sich auf die Fähigkeit, nur die Namen von Eigenschaften und Methoden zu verwenden, Unterklassen müssen jedoch Implementierungen bereitstellen 🎜>

Polymorphismus

Der sogenannte Polymorphismus bedeutet, dass dieselbe Methode einer Klasseninstanz in verschiedenen Situationen unterschiedliche Ausprägungen aufweist.

Der Polymorphismusmechanismus ermöglicht es Objekten mit unterschiedlichen internen Strukturen, dieselbe externe Schnittstelle zu teilen. Dies bedeutet, dass die spezifischen Operationen an verschiedenen Objekten zwar unterschiedlich sind, sie (diese Operationen) jedoch auf die gleiche Weise über eine gemeinsame Klasse aufgerufen werden können.

Fünf Grundprinzipien

Single-Responsibility-Prinzip SRP (Single-Responsibility-Prinzip)

Dies bedeutet, dass die Funktion einer Klasse einzeln sein muss und nicht allumfassend sein darf. Wie einem Menschen sollte auch Ihnen nicht zu viel Arbeit zugewiesen werden, da Sie sonst zwar den ganzen Tag beschäftigt sind, Ihre Effizienz aber nicht hoch ist.

Open-Close-Prinzip OCP (Open-Close-Prinzip)

Ein Modul sollte hinsichtlich der Erweiterbarkeit offen und hinsichtlich der Erweiterbarkeit offen sein der Veränderbarkeit ist geschlossen. Beispiel: Ein Netzwerkmodul hatte ursprünglich nur serverseitige Funktionen, jetzt müssen jedoch clientseitige Funktionen hinzugefügt werden.

Dann sollte der Implementierungscode der Client-Funktion hinzugefügt werden können, ohne den Server-Funktionscode zu ändern. Dies erfordert, dass der Server und der Client zu Beginn des Entwurfs getrennt werden und die gemeinsamen Teile vorhanden sind abstrahiert.

Substitutionsprinzip (das Liskov-Substitutionsprinzip LSP)

Unterklassen sollten in der Lage sein, die übergeordnete Klasse zu ersetzen und überall dort zu erscheinen, wo die übergeordnete Klasse erscheinen kann . . Wenn das Unternehmen beispielsweise eine jährliche Party veranstaltet und alle Mitarbeiter an der Lotterie teilnehmen können, dann sollten sie unabhängig davon, ob es sich um alte oder neue Mitarbeiter, ob es sich um Mitarbeiter in der Zentrale oder um im Ausland lebende Mitarbeiter handelt, an der Lotterie teilnehmen können. Andernfalls wird das Unternehmen nicht harmonisch sein.

Substitutionsprinzip (das Liskov-Substitutionsprinzip LSP)

Angenommen, B ist ein niedrigerer Modul als A, aber B muss die Funktionen verwenden Von A sollte B zu diesem Zeitpunkt nicht direkt die konkrete Klasse in A verwenden: Stattdessen sollte B eine abstrakte Schnittstelle definieren und A sollte diese abstrakte Schnittstelle implementieren. B verwendet nur diese abstrakte Schnittstelle: Dadurch wird der Zweck der Abhängigkeitsinversion erreicht. B Es beseitigt auch die Abhängigkeit von A. A wiederum hängt von der durch B definierten abstrakten Schnittstelle ab. Es ist schwierig, die Abhängigkeit von Modulen der unteren Ebene durch Module der oberen Ebene zu vermeiden. Wenn B auch direkt von der Implementierung von A abhängt, kann dies zu zirkulären Abhängigkeiten führen. Ein häufiges Problem besteht darin, dass beim Kompilieren von Modul A die CPP-Datei von Modul B direkt eingebunden werden muss und beim Kompilieren von B auch die CPP-Datei von A direkt eingebunden werden muss.

Das Schnittstellentrennungsprinzip ISP

Module sollten durch abstrakte Schnittstellen isoliert werden und nicht durch konkrete Klassen.

Das obige ist der detaillierte Inhalt vonDrei Hauptmerkmale der objektorientierten PHP-Methode. 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:Umfang der PHP-VariablenNächster Artikel:Umfang der PHP-Variablen