Ob objektorientiert oder prozessorientiert, es handelt sich um beide Arten der Problemlösung, jedoch aus unterschiedlichen Blickwinkeln
Prozessorientiert:
Schwerpunkt zu jedem Aspekt der Problemlösung Jeder Schritt wird persönlich durchgeführt und jedes Detail wird manuell umgesetzt
Objektorientiert:
Verwenden Sie bestimmte funktionale Objekte zur Lösung Spezifische Probleme, jedes Detail Keine Notwendigkeit, darauf zu achten, erstellen Sie einfach das entsprechende Objekt
Objektorientiert basiert auf prozessorientierten
Klassen und Objekten und ihren Beziehungen
Klasse: ein Sammelname für Dinge mit den gleichen Eigenschaften und Verhaltensweisen (Funktionen), ein abstraktes Konzept
Objekt: ein bestimmtes Individuum in dieser Art von Dingen
Klassen- und Objektbeziehung
Eine Klasse ist eine Abstraktion eines Objekts und ein Objekt ist eine Instanz einer Klasse
beschreibt ein Ding---- > Klasse
Eigenschaften ----> Mitgliedsattribute (Mitgliedsvariablen)
Verhalten (Funktion) ---> Klassenerstellungsformat:
Modifikatorklasse Klassenname { Datentyp Mitgliedsvariablenname 1;
Datentyp Mitgliedsvariablenname 2;
Datentyp Mitgliedsvariablenname 3;
...
Mitgliedsmethode 1 ;
Mitgliedsmethode 2;
Mitgliedsmethode 3;
...
}
Modifikator: öffentlich
Klassenname: Bezeichner Siehe der Name, um die Bedeutung zu kennen
Liste der Mitgliedsvariablen: Schreiben Sie nur die Merkmale, um die es in der aktuellen Szene geht. Es ist nicht erforderlich, alle Merkmale der Dinge zu schreiben. Die Schreibmethode ähnelt der Definition von Variablen
Mitgliedsmethode: Das Verhalten (die Funktion) der Dinge. Schreiben Sie nur die Eigenschaften, um die es in der aktuellen Szene geht. Das Verhalten (die Funktion) wird ähnlich wie bei der vorherigen Definitionsmethode geschrieben. Der Unterschied besteht darin, dass Sie es jetzt schreiben: statisch
muss entfernt werden. Wenn eine Klasse zum ersten Mal verwendet wird, muss sie in den Methodenbereich geladen werden, und dieser sollte danach jedes Mal verwendet werden. Die Klasse muss nicht wiederholt geladen werden
Der Unterschied zwischen Mitgliedsvariablen und lokalen Variablen
1. Der Ort der Definition ist unterschiedlich
Lokale Variablen: innerhalb der Methode definiert Mitgliedsvariablen: Innerhalb der Klasse definiert, außerhalb die Methode 2. Die Speicherorte im Speicher sind unterschiedlich
Lokale Variablen: Lokale Variablen werden im Stapelbereich gespeichert
Mitgliedsvariablen: Mitgliedsvariablen werden im Heap-Bereich gespeichert
3 .Unterschiedliches Leben Zyklen
Lokale Variablen: werden mit dem Aufruf der Methode generiert, verschwinden mit dem Ende der Methode relativ kurz
Mitgliedsvariablen: werden mit der Erstellung des Objekts generiert, verschwinden mit dem Recycling von Objektdaten relativ kurz Long
4. Unterschiedliche Anfangswerte
Lokale Variablen: kein Anfangswert, muss vor der Verwendung zugewiesen werden
Mitgliedsvariablen: haben Anfangswert, Referenztyp null, Ganzzahl 0, Dezimalzahl 0,0 Zeichen: Leerzeichen, Boolean falsch
Kapselung
Kapselung ist eines der drei Hauptmerkmale der Objektorientierung, die anderen beiden sind Vererbung Polymorphismus
Klassenname: Person Attribut: Name , Alter
Methode: Demonstrieren
Vorteile der Kapselung
: Verbesserung der Programmsicherheit
Schritte zum Kapseln von Attributen:
1 .Verwenden Sie die privates Schlüsselwort, um das entsprechende Attribut zu ändern, um zu verhindern, dass die Außenwelt über den Objektnamen direkt auf das Attribut zugreift
2. Schreiben Sie die Set- und Get-Methoden des entsprechenden Attributs, um der Außenwelt einen Kanal für den Zugriff auf das Attribut zu geben Kapselung Es handelt sich um die Simulation der objektiven Welt durch eine objektorientierte Programmiersprache. In der objektiven Welt sind Mitgliedsvariablen im Objekt verborgen und können von der Außenwelt nicht direkt manipuliert oder geändert werden.
Grundsätze der Kapselung:
Inhalte ausblenden, die nicht der Außenwelt zur Verfügung gestellt werden müssen.
Verstecken Sie die Eigenschaften und stellen Sie öffentliche Methoden für den Zugriff bereit. Mitgliedsvariablen sind privat und stellen entsprechende getXxx()/setXxx()-Methoden bereit
Vorteile
:
Kapseln Sie den Code mit Methoden, um die Wiederverwendbarkeit des Codes zu verbessern Näherungsprinzip für den Variablenzugriff:
Wenn mehrere Variablen mit demselben Namen erscheinen, verwendet der Zielcode die Variable, die dieser Codezeile am nächsten liegt
Probleme, die Dies kann Folgendes lösen:
Wenn lokale Variablen und Mitgliedsvariablen denselben Namen haben und Sie an einem bestimmten Codepunkt auf die Mitgliedsvariablen zugreifen möchten, können Sie dies vor dem Variablennamen in der Zielzeile hinzufügen.
Dies ist nur das Objekt, das diese Methode gerade aufruft.
Dies. Wer dies aufruft, bezieht sich auf wen.
Die Konstruktormethode
ist eine Methode: Weisen Sie a zu Standardwert für die Daten des Objekts
Definitionsformat:
Modifikator Methodenname (Parameterliste) {
Mehrere Initialisierungsanweisungen
}
Modifikator: öffentlich
Methodenname: direkt Schreiben Sie den Klassennamen
Parameterliste: Die gleichen wie die formalen Parameter der zuvor definierten Methode
Beachten Sie, dass der Konstruktor keinen Rückgabewerttyp hat
Wenn wir dies nicht tun Schreiben Sie manuell einen Konstruktor ohne Parameter. Das System stellt standardmäßig einen bereit. Wenn wir die Konstruktionsmethode ohne Parameter manuell schreiben,
, stellt das System sie nicht bereit. Wenn wir sie verwenden, verwenden wir direkt die Konstruktionsmethode, die wir selbst geschrieben haben
Die Konstruktionsmethode ist auch eine Methode und kann überladen werden.
Solange wir eine Konstruktionsmethode von Hand schreiben, bietet das System keine Konstruktionsmethode ohne Parameter Wenn Sie zum Erstellen eines Objekts eine Konstruktionsmethode ohne Parameter verwenden müssen, müssen Sie es selbst schreiben Konstruktor ohne Parameter
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung objektorientierter Inhalte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!