Heim > Artikel > Backend-Entwicklung > PHP-Objektorientierter Leitfaden (1) Grundkenntnisse in Objektorientierung
Das Konzept der objektorientierten
Objektorientierte Programmierung (OOP, objektorientierte Programmierung) ist eine Computerprogrammierarchitektur. Ein Grundprinzip von OOP besteht darin, dass ein Computerprogramm aus a besteht Single OOP besteht aus Einheiten oder Objekten, die als Unterroutinen fungieren, und erreicht die drei Ziele der Softwareentwicklung: Wiederverwendbarkeit, Flexibilität und Erweiterbarkeit. Um den Gesamtbetrieb zu realisieren, kann jedes Objekt Informationen empfangen, Daten verarbeiten und Informationen an andere Objekte senden. Objektorientierung war schon immer ein heißes Thema im Bereich der Softwareentwicklung. Zunächst einmal steht Objektorientierung im Einklang mit den allgemeinen Regeln, wie Menschen Dinge betrachten. Zweitens ermöglicht der Einsatz objektorientierter Methoden jedem Teil des Systems, seine Aufgaben zu erfüllen und seine Aufgaben zu erfüllen. Dies eröffnet Programmierern die Möglichkeit, Code zu schreiben, der einfacher, leichter zu warten und wiederverwendbar ist. Manche Leute sagen, dass PHP keine echte objektorientierte Sprache ist.
Das stimmt. PHP ist eine Hybridsprache, Sie können OOP oder traditionelle prozedurale Programmierung verwenden. Bei größeren Projekten möchten Sie jedoch möglicherweise reines OOP verwenden, um Klassen in PHP zu deklarieren, und in Ihrem Projekt nur Objekte
und Klassen verwenden. Ich werde nicht näher auf dieses Konzept eingehen, da der Hauptgrund, warum viele Freunde sich von der objektorientierten Programmierung fernhalten, darin besteht, dass sie es nicht verstehen können, wenn sie damit in Berührung kommen, und es daher nicht lernen möchten . Lassen Sie die Leser das Konzept
verstehen, nachdem sie den gesamten Inhalt gelesen haben.
2. Was ist eine Klasse, was ist ein Objekt und die Beziehung zwischen Klassen und Objekten
Das Konzept einer Klasse: Eine Klasse ist eine Sammlung von Objekten mit denselben Attributen und Diensten. Es bietet eine einheitliche abstrakte Beschreibung für alle zu dieser Klasse gehörenden Objekte, die zwei Hauptteile umfasst: Eigenschaften und Dienste. In objektorientierten Programmiersprachen ist eine Klasse eine unabhängige Programmeinheit. Sie sollte einen Klassennamen haben und zwei Hauptteile enthalten: Attributbeschreibung und Dienstbeschreibung.
Das Konzept des Objekts: Ein Objekt ist eine Einheit, die zur Beschreibung objektiver Dinge im System verwendet wird. Es ist eine Grundeinheit, die das System bildet. Ein Objekt besteht aus einer Reihe von Eigenschaften und einer Reihe von Diensten, die mit der Reihe von Eigenschaften arbeiten. Aus einer abstrakteren Perspektive ist ein Objekt eine Abstraktion von etwas in der Problemdomäne oder Implementierungsdomäne. Es spiegelt die Informationen wider, die gespeichert werden müssen, und die Rolle, die das Ding im System spielt Kapselung einer Reihe von Diensten, die auf diesen Eigenschaften ausgeführt werden. Die objektive Welt besteht aus Objekten
und den Verbindungen zwischen Objekten.
Die Beziehung zwischen Klassen und Objekten ähnelt der Beziehung zwischen Formen und Gussteilen. Das Instanziierungsergebnis einer Klasse ist ein Objekt, und die Abstraktion eines Objekttyps ist eine Klasse. Eine Klasse beschreibt eine Gruppe von Objekten, die die gleichen Eigenschaften (Eigenschaften) und das gleiche Verhalten (Methoden) haben.
Das sind wahrscheinlich die Definitionen, die Sie kennen. Lassen Sie sich von den Konzepten nicht verwirren. Wenn Sie nach Zhongguancun gehen und ein paar zusammengebaute PCs kaufen möchten Ist Ihr erster Schritt, wenn Sie dort ankommen?
Sitzt der Installationstechniker bei Ihnen und füllt anhand der von Ihnen bereitgestellten Informationen eine Installationskonfigurationsliste aus? Papier, aber es zeichnet die Informationen des PCs auf, den Sie kaufen möchten.
Wenn Sie 10 Maschinen mit dieser Konfigurationsliste kaufen, werden diese 10 Maschinen alle gemäß dieser Konfigurationsliste zusammengestellt. Die 10 Maschinen sind also eins Typ oder eine Kategorie. Was ist also ein Objekt? Das Instanziierungsergebnis einer Klasse ist ein Objekt, das mit diesem
-Konfigurationsblatt konfiguriert (instanziiert) wird, eine Entität, die wir bedienen können. Jede Maschine ist unabhängig, was nur bedeutet, dass sie vom gleichen Typ sind.
Auswirkungen auf die anderen 9 Maschinen haben. Wenn ich jedoch die Klasse ändere, füge ich hinzu, ob es eine gibt Ein Zubehörteil weniger, dann ändern sich alle neun installierten Maschinen. Dies ist die Beziehung zwischen Klassen und Objekten (das Instanziierungsergebnis einer Klasse ist ein Objekt).
3. Was ist objektorientierte Programmierung?
Ganz zu schweigen von seinem Konzept: Wenn Sie ein Computerklassenzimmer bauen möchten, müssen Sie zunächst einen Raum mit N Computern, N Tischen, N Stühlen, Whiteboards, Projektoren usw. haben. Das sind, wie wir gerade gesagt haben, diese sind Objekte, Entitäten, die man sehen kann. Man kann sagen, dass die Einheiten dieses Computerklassenzimmers diese Entitätsobjekte sind. Sie
bilden zusammen dieses Computerklassenzimmer. Was hat Programmierung mit objektorientierter Programmierung zu tun? Die Entwicklung eines Systemprogramms ähnelt dem Aufbau eines Computerklassenzimmers. Sie abstrahieren jedes unabhängige Funktionsmodul und bilden ein Objekt. Diese Objekte können Informationen empfangen, Daten verarbeiten und Nachrichten aneinander senden Objekte senden Nachrichten und interagieren so miteinander.
4. Wie abstrahiere ich eine Klasse?
Wie oben erwähnt, ist die Einheit eines objektorientierten Programms das Objekt, aber das Objekt wird von der Klasse instanziiert. Daher müssen wir zunächst die Klasse deklarieren. Es ist einfach, eine Klasse zu erstellen. solange Sie die grundlegende Programmiersyntax beherrschen
Es kann nach den gerechten Regeln geschehen, wo liegt also die Schwierigkeit? Wie viele Klassen und Objekte sollen in einem Projekt verwendet werden, wo soll die Klasse definiert werden, welche Art von Klasse wird definiert, wie viele Objekte werden von dieser Klasse instanziiert, wie viele Attribute gibt es in der Klasse und wie viele Methoden gibt es ? Warten Sie, dies erfordert, dass die Leser tatsächliche Probleme in der tatsächlichen Entwicklung analysieren, entwerfen und zusammenfassen.
Klassendefinition:
Klasse Klassenname {
}
Verwenden Sie ein Schlüsselwort „Klasse“, gefolgt von einem gewünschten Klassennamen und einem Paar geschweifter Klammern, z. B. einer Klassenstruktur. Es ist definiert und Sie müssen es nur noch tun Schreiben Sie Code hinein, aber was steht darin? Was kann ich schreiben? Wie schreibe ich
eine komplette Klasse? Wie oben erwähnt, besteht der Zweck der Verwendung einer Klasse darin, Objekte zu instanziieren, die wir verwenden möchten. Was steht auf dem Installationskonfigurationsblatt, das wir oben erwähnt haben?
über die Maschine? Beispielsweise ist eine Person ein Ziel. Wie empfehlen Sie Ihrem Vorgesetzten eine Person, die Ihnen gefällt? Natürlich gilt: Je detaillierter, desto besser:
Zuerst geben Sie den Namen, das Geschlecht, das Alter, die Größe, das Gewicht, die Telefonnummer, die Wohnadresse usw. der Person ein.
Dann müssen Sie vorstellen, was diese Person kann, ob sie Auto fahren, Englisch sprechen, einen Computer bedienen usw. kann. Solange Sie mehr vorstellen, werden andere mehr über diese Person erfahren. Dies ist unsere Beschreibung einer Person. Lassen Sie uns nun zusammenfassen, dass alle Objekte, die wir zur Beschreibung verwenden, ähnlich sind Die Klasse ist aus Definitionssicht in zwei Teile unterteilt. Der erste ist eine statische Beschreibung und der zweite ist eine dynamische Beschreibung. Die statische Beschreibung
ist das, was wir Attribute nennen, wie wir oben gesehen haben, ist der Name der Person. Geschlecht, Alter, Größe, Gewicht, Telefonnummer, Privatadresse usw.
Dynamisch gesehen ist es die Funktion dieses menschlichen Objekts. Diese Person kann beispielsweise Auto fahren, Englisch sprechen, einen Computer bedienen usw. Wenn wir sie in ein Programm abstrahieren, schreiben wir die Dynamik als Funktion oder Methode und Methoden sind gleich. Daher werden alle Klassen
in Form von Attributen und Methoden geschrieben. Attribute werden auch als Mitgliedsattribute dieser Klasse bezeichnet, und Methoden werden als Mitgliedsmethoden dieser Klasse bezeichnet.
Klassenperson {
Mitgliedsattribute: Name, Geschlecht, Alter, Größe, Gewicht, Telefonnummer, Privatadresse
Mitgliedsmethode: kann Auto fahren, Englisch sprechen, kann einen Computer benutzen
}
Attribute:
Durch die Verwendung des Schlüsselworts „var“ in der Klassendefinition zum Deklarieren von Variablen werden die Attribute der Klasse erstellt. Obwohl der Anfangswert beim Deklarieren des Mitgliedsattributs angegeben werden kann, wird der Anfangswert des Mitgliedsattributs angegeben Wenn beispielsweise der Name einer Person „Zhang San“ zugewiesen wird, erstellen Sie mit dieser Klasseninstanz Dutzende von Personen, die dann den Namen „Zhang San“ erhalten Es besteht keine Notwendigkeit
, dies zu tun. Wir können den Mitgliedsattributen einfach Anfangswerte zuweisen, nachdem die Instanz das Objekt erstellt hat.
Zum Beispiel: var $somevar;
Methode (Mitgliedsfunktion):
Durch die Deklaration einer Funktion in der Klassendefinition wird eine Methode der Klasse erstellt.
Zum Beispiel: Funktion somefun (Parameterliste)
{ ... ... }
Codeausschnitt
<?php class Person{ //下面是人的成员属性 var $name; //人的名字 var $sex; //人的性别 var $age; //人的年龄 //下面是人的成员方法 function say(){ //这个人可以说话的方法 echo "这个人在说话"; } function run(){ //这个人可以走路的方法 echo "这个人在走路"; } } ?>Wenn 10 persönliche Objekte instanziiert werden, dann sind der Name, das Geschlecht und das Alter jeder dieser 10 Personen unterschiedlich
Daher ist es am besten, den Mitgliedsattributen hier keine Anfangswerte zuzuweisen. Um jedoch jedem Mitgliedsattribut einen Anfangswert zuzuweisen, werden ihm separate Werte zugewiesen.
Mit derselben Methode können Sie die gewünschte Klasse erstellen. Solange Sie Attribute und Methoden zur Beschreibung der Entität verwenden können, können Sie sie
als Klasse definieren und das Objekt instanziieren.
Um Ihr Verständnis von Klassen zu stärken, erstellen wir eine weitere Klasse, eine Formklasse. Lassen Sie uns
zunächst ein Rechteck erstellen und darüber nachdenken . Analyse, welche Eigenschaften hat ein Rechteck? Welche Funktionen haben Rechtecke
?
Code-Snippet
class 矩形 { //矩形的属性 矩形的长; 矩形的宽; //矩形的方法 矩形的周长; 矩形的面积; }
Wenn Sie diese Klasse verwenden, um mehrere rechteckige Objekte zu erstellen, hat jedes rechteckige Objekt seine eigene Länge und Breite, Sie können
Meinen Umfang herausfinden und Bereich.<?php class Rect{ var $kuan; var $gao; function zhouChang(){ 计算矩形的周长; } function mianJi(){ 计算矩形的面积; } } ?>
Das Obige ist der objektorientierte PHP-Leitfaden (1) Der Inhalt des grundlegenden objektorientierten Wissens Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!