Heim Java javaLernprogramm Ausführliche Erläuterung objektorientierter Inhalte

Ausführliche Erläuterung objektorientierter Inhalte

Jun 26, 2017 am 09:27 AM
this 对象 封装 面向

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
:

Steuern Sie den Betrieb von Mitgliedsvariablen durch Methoden, was die Sicherheit des verbessert Code

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Konvertieren Sie ein Array oder Objekt mit der json_encode()-Funktion von PHP in einen JSON-String Konvertieren Sie ein Array oder Objekt mit der json_encode()-Funktion von PHP in einen JSON-String Nov 03, 2023 pm 03:30 PM

JSON (JavaScriptObjectNotation) ist ein leichtes Datenaustauschformat, das sich zu einem gängigen Format für den Datenaustausch zwischen Webanwendungen entwickelt hat. Die json_encode()-Funktion von PHP kann ein Array oder Objekt in einen JSON-String konvertieren. In diesem Artikel wird die Verwendung der json_encode()-Funktion von PHP vorgestellt, einschließlich Syntax, Parametern, Rückgabewerten und spezifischen Beispielen. Syntax Die Syntax der Funktion json_encode() lautet wie folgt: st

TrendForce: Nvidias Blackwell-Plattformprodukte sorgen dafür, dass die CoWoS-Produktionskapazität von TSMC in diesem Jahr um 150 % steigt TrendForce: Nvidias Blackwell-Plattformprodukte sorgen dafür, dass die CoWoS-Produktionskapazität von TSMC in diesem Jahr um 150 % steigt Apr 17, 2024 pm 08:00 PM

Laut Nachrichten dieser Website vom 17. April hat TrendForce kürzlich einen Bericht veröffentlicht, in dem es davon ausgeht, dass die Nachfrage nach den neuen Blackwell-Plattformprodukten von Nvidia optimistisch ist und die gesamte CoWoS-Verpackungsproduktionskapazität von TSMC im Jahr 2024 voraussichtlich um mehr als 150 % steigen wird. Zu den neuen Blackwell-Plattformprodukten von NVIDIA gehören GPUs der B-Serie und GB200-Beschleunigerkarten, die NVIDIAs eigene GraceArm-CPU integrieren. TrendForce bestätigt, dass die Lieferkette derzeit sehr optimistisch in Bezug auf GB200 ist. Es wird geschätzt, dass die Auslieferungen im Jahr 2025 eine Million Einheiten überschreiten werden, was 40-50 % der High-End-GPUs von Nvidia ausmacht. Nvidia plant, in der zweiten Jahreshälfte Produkte wie GB200 und B100 auszuliefern, aber vorgelagerte Waferverpackungen müssen noch komplexere Produkte einführen.

Wie konvertiere ich ein MySQL-Abfrageergebnisarray in ein Objekt? Wie konvertiere ich ein MySQL-Abfrageergebnisarray in ein Objekt? Apr 29, 2024 pm 01:09 PM

So konvertieren Sie ein MySQL-Abfrageergebnis-Array in ein Objekt: Erstellen Sie ein leeres Objekt-Array. Durchlaufen Sie das resultierende Array und erstellen Sie für jede Zeile ein neues Objekt. Verwenden Sie eine foreach-Schleife, um die Schlüssel-Wert-Paare jeder Zeile den entsprechenden Eigenschaften des neuen Objekts zuzuweisen. Fügt dem Objektarray ein neues Objekt hinzu. Schließen Sie die Datenbankverbindung.

Verwenden Sie die Python-Funktion __contains__(), um die Einschlussoperation eines Objekts zu definieren Verwenden Sie die Python-Funktion __contains__(), um die Einschlussoperation eines Objekts zu definieren Aug 22, 2023 pm 04:23 PM

Verwenden Sie die Funktion __contains__() von Python, um die Einschlussoperation eines Objekts zu definieren. Python ist eine prägnante und leistungsstarke Programmiersprache, die viele leistungsstarke Funktionen für die Verarbeitung verschiedener Datentypen bietet. Eine davon besteht darin, die Eindämmungsoperation von Objekten durch Definieren der Funktion __contains__() zu implementieren. In diesem Artikel wird erläutert, wie Sie mit der Funktion __contains__() die Einschlussoperation eines Objekts definieren, und es wird ein Beispielcode bereitgestellt. Die Funktion __contains__() ist Pytho

Offengelegte AMD „Strix Halo' FP11-Gehäusegröße: entspricht Intel LGA1700, 60 % größer als Phoenix Offengelegte AMD „Strix Halo' FP11-Gehäusegröße: entspricht Intel LGA1700, 60 % größer als Phoenix Jul 18, 2024 am 02:04 AM

Diese Website berichtete am 9. Juli, dass die Prozessoren der AMD Zen5-Architektur „Strix“ über zwei Verpackungslösungen verfügen werden: Der kleinere StrixPoint wird das FP8-Paket verwenden, während der StrixHalo das FP11-Paket verwenden wird. Quelle: videocardz source @Olrak29_ Die neueste Enthüllung ist, dass die FP11-Gehäusegröße von StrixHalo 37,5 mm * 45 mm (1687 Quadratmillimeter) beträgt, was der LGA-1700-Gehäusegröße der AlderLake- und RaptorLake-CPUs von Intel entspricht. AMDs neueste Phoenix APU verwendet eine FP8-Gehäuselösung mit einer Größe von 25*40 mm, was bedeutet, dass StrixHalos F

Was ist der Unterschied zwischen Arrays und Objekten in PHP? Was ist der Unterschied zwischen Arrays und Objekten in PHP? Apr 29, 2024 pm 02:39 PM

In PHP ist ein Array eine geordnete Sequenz, und auf Elemente wird über einen Index zugegriffen. Ein Objekt ist eine Entität mit Eigenschaften und Methoden, die über das Schlüsselwort new erstellt werden. Der Array-Zugriff erfolgt über einen Index, der Objektzugriff über Eigenschaften/Methoden. Es werden Array-Werte und Objektreferenzen übergeben.

Verwenden Sie die Funktion __le__() von Python, um einen Kleiner-gleich-Vergleich zweier Objekte zu definieren Verwenden Sie die Funktion __le__() von Python, um einen Kleiner-gleich-Vergleich zweier Objekte zu definieren Aug 21, 2023 pm 09:29 PM

Titel: Verwenden der Python-Funktion __le__() zum Definieren eines Kleiner-gleich-Vergleichs zweier Objekte. In Python können wir Vergleichsoperationen zwischen Objekten mithilfe spezieller Methoden definieren. Eine davon ist die Funktion __le__(), mit der Kleiner-gleich-Vergleiche definiert werden. Die Funktion __le__() ist eine magische Methode in Python und eine spezielle Funktion, die zur Implementierung der Operation „Kleiner als oder gleich“ verwendet wird. Wenn wir zwei Objekte mit dem Kleiner-gleich-Operator (<=) vergleichen, Python

Verpackungstechnologie und Anwendung in PHP Verpackungstechnologie und Anwendung in PHP Oct 12, 2023 pm 01:43 PM

Kapselungstechnologie und Anwendungskapselung in PHP sind ein wichtiges Konzept in der objektorientierten Programmierung. Sie beziehen sich auf die gemeinsame Kapselung von Daten und Operationen auf Daten, um eine einheitliche Zugriffsschnittstelle für externe Programme bereitzustellen. In PHP kann die Kapselung durch Zugriffskontrollmodifikatoren und Klassendefinitionen erreicht werden. In diesem Artikel werden die Kapselungstechnologie in PHP und ihre Anwendungsszenarien vorgestellt und einige spezifische Codebeispiele bereitgestellt. 1. Gekapselte Zugriffskontrollmodifikatoren In PHP wird die Kapselung hauptsächlich durch Zugriffskontrollmodifikatoren erreicht. PHP bietet drei Zugriffskontrollmodifikatoren:

See all articles