Ein objektorientiertes Programm besteht aus Objekten, wobei jedes Objekt spezifische funktionale Teile enthält, die dem Benutzer und verborgenen Implementierungsteilen ausgesetzt sind. In der objektorientierten Programmierung (OOP) müssen sich die spezifische Implementierung des Objekts nicht kümmern. In der herkömmlichen strukturierten Programmierung werden Algorithmen erstmalig und Datenstrukturen zweitrangig, dh bestimmen zuerst, wie man arbeitet, und überlegen Sie, wie Sie Daten organisieren, um den Betrieb zu erleichtern. OOP kehrt diese Reihenfolge um, setzt die Daten zuerst und berücksichtigt dann den Algorithmus, der die Daten betreibt.
I. Klasse
Klassen sind Vorlagen und Blaupausen zum Konstruktion von Objekten. In den Laiengegriffen entspricht dies auch den Zeichnungen des Gebäudes, während das Objekt dem Gebäude entspricht. Der Prozess der Konstruktion eines Objekts aus einer Klasse heißt das Erstellen einer Instanz eines Objekts.
In Java wird "Klasse" durch die Schlüsselwortklasse definiert, gefolgt vom Klassennamen. Zum Beispiel:
Klasse Person {// Klassenkörperinhalt}Eine Personklasse ist definiert.
1. Felder und Methoden
Beim Definieren einer Klasse können in der Klasse zwei Arten von Elementen festgelegt werden: Datenmitglieder und Mitgliederfunktionen. Wo das Datenelement ein Objekt ist, das von jedem Typ sein kann. Wenn es sich um einen Griff, der auf ein Objekt zeigt, muss dieser Griff über den Konstruktor initialisiert und mit einem tatsächlichen Objekt verbunden werden. Wenn es sich um einen grundlegenden Datentyp handelt, kann er direkt am Standort der Klassendefinition initialisiert werden.
Jedes Objekt behält den Speicherplatz für seine eigenen Datenmitglieder. Datenmitglieder werden nicht unter Objekten geteilt.
Klasse Person {String Name; doppeltes Gehalt;} Erstellen Sie ein Objekt mit dem new Schlüsselwort. wie:
Person p = neue Person ();
(1) Der Standardwert des Master -Mitglieds
Wenn ein bestimmter Stammdatentyp zu einem Klassenmitglied gehört, ist nicht klar, dass die Initialisierung auch sicherstellen kann, dass sie einen Standardwert erhalten.
| Haupttyp | Standardwert |
| Boolean | FALSCH |
| Verkohlen | '/u0000' (null) |
| Byte | (Byte) 0 |
| Kurz | (kurz) 0 |
| int | 0 |
| lang | 0L |
| schweben | 0,0f |
| doppelt | 0,0d |
Wenn eine Variable eine Mitgliedsvariable der Klasse ist, wird sie definitiv für den Haupttyp initialisiert, und besondere Aufmerksamkeit sollte dem initialisierten Wert gelegt werden. Für lokale Variablen werden einige zufällige Werte erhalten, wie: int x; wird nicht automatisch auf 0 initialisiert.
(2) Methode
Die grundlegenden Komponenten einer Methode umfassen Name , unabhängige Variable , Rückgabetyp und Körper . Die Grundform der Methode lautet:
返回类型方法名(/*自变量列表*/) {/* 方法体*/}Der Rückgabetyp bezieht sich auf den zurückgegebenen numerischen Typ, nachdem die Methode aufgerufen wurde. Ein Methodenname ist die Identifizierung und Referenz einer bestimmten Methode. In der Argumentliste werden die Typen und Namen der Informationen aufgeführt, die Sie an die Methode übergeben möchten.
In Java wird die Methode als对象名.方法名
1. Verwenden Sie Griffe, um Objekte zu bedienen
Obwohl Java vollständig objektorientiert ist . Die Kennung der Operation zeigt jedoch tatsächlich auf den " Handle " eines Objekts, auch als "Referenz" bezeichnet . Ein Griff kann unabhängig existieren, um nicht zu sagen, dass Sie, wenn Sie einen Griff haben, ein Objekt haben müssen, das ihm entspricht. Zum Beispiel int i; Definiert eine Ganzzahlvariable I, was nicht bedeutet, dass sie einen Wert haben muss. Erstellen Sie beispielsweise einen String -Handle:
String S;
Hier wird nur ein Griff erstellt und kein Objekt erstellt. Da S kein Objekt zugeordnet ist, wird eine Ausnahme angezeigt, wenn s aufgerufen wird. Daher ist die Initialisierung beim Erstellen erforderlich.
String S = "Hallo";
In Java wird ein Objekt mit dem neuen Schlüsselwort erstellt, das einen Verweis auf das Objekt zurückgibt (d. H. Ein Griff). Also
String s = new String ("Hallo");Ein String -Objekt mit Inhalten "Hallo" wurde erstellt, und das Handle (Referenz) des Objekts wurde an S übergeben, um zu speichern.
2. Ort der Datenspeicherung
1. Register. Der schnellste Sparbereich im Verfahren. Die Größe des Registers ist begrenzt und die Größe wird vom Compiler zugewiesen.
2. Stack. Im Bereich des regulären RAM (Random Access Memory) kann die Größe durch den "Stapelzeiger" geändert werden. Wenn Sie den Stapelzeiger nach unten bewegen, wird ein neuer Speicherplatz erzeugt. Wenn Sie nach oben gehen, werden Speicherplatz freigelassen. Beim Erstellen eines Programms muss der Java -Compiler genau die "Länge" und "Zeit der Existenz" aller im Stapel gespeicherten Daten kennen, und der Compiler generiert den entsprechenden Code, um den Zeiger zu verschieben. Der Griff des Java -Objekts wird darin gespeichert, das Java -Objekt wird jedoch nicht im Stapel gespeichert.
3. Haufen. Ein Speicherpool für reguläre Zwecke, bei dem Java -Objekte gespeichert werden. Der Compiler weiß oder muss nicht wissen, wie viel Speicherplatz aus dem "Speicherhaufen" oder "Heap" zugewiesen wird und wie lange die Daten dauern werden.
4. Statische Speicherung. Static bezieht sich auf eine feste Position (in RAM). Während des Programms des Programms stehen die statisch gespeicherten Daten jederzeit für Anrufe zur Verfügung. Zeigt an, dass ein bestimmtes Element eines Objekts durch statisches Schlüsselwort statisch ist. Java selbst kann nicht im statischen Speicherplatz platziert werden.
5. Ständige Speicherung. Konstante Werte werden normalerweise im Programmcode platziert und ändern sich niemals.
6. Nicht-Ram-Speicher. Wenn die Daten völlig unabhängig von einem Programm sind, kann sie weiterhin existieren, wenn das Programm nicht ausgeführt wird und sich im Steuerbereich des Programms befindet. Zum Beispiel Streaming -Objekte und feste Objekte.
2. Objekt
Drei Hauptmerkmale eines Objekts:
• Objektverhalten - Welche Operationen können auf das Objekt angewendet werden oder welche Methoden können auf das Objekt angewendet werden?
• Objektstatus - Wie reagiert das Objekt beim Hinzufügen dieser Methoden?
• Objektidentifizierung - Wie identifiziert man verschiedene Objekte mit demselben Verhalten und Zustand?
Das Verhalten eines Objekts wird durch eine aufrufbare Methode definiert. Jedes Objekt enthält Informationen, die das aktuelle Merkmal beschreiben, nämlich der Status des Objekts. Der Zustand des Objekts ändert sich nicht spontan. Eine gut gestaltete Klasse kann nur durch Aufrufmethoden implementiert werden. Wenn der Zustand des Objekts ohne Methodenaufrufe geändert wird, bedeutet dies, dass die Kapselung zerstört wurde.
Kapselung: Eine Implementierungsmethode, die Daten und Verhalten in einem Paket kombiniert und Daten vor den Verbrauchern des Objekts verbirgt. Der Schlüssel zur Kapselung ist, dass Methoden in der Klasse nicht direkt auf die Instanzdomäne anderer Klassen zugreifen dürfen. Programme interagieren nur über die Method -Domain -Objektdaten des Objekts.
Die Daten in einem Objekt werden als Instanzfeld oder Attribut bezeichnet. Der Prozess der Manipulation von Daten wird als Methode bezeichnet. Für jedes bestimmte Objekt gibt es einen bestimmten Satz von Instanzdomänenwerten (Attributwerte), und der Satz dieser Werte ist der aktuelle Status des Objekts.
Beziehung zwischen Klassen
Gemeinsame Beziehungen zwischen Klassen:
• Abhängigkeit ("Anwendung-A"): Eine Methode einer Klasse manipuliert Objekte einer anderen Klasse.
• Aggregation ("Has-a"): Ein Objekt einer Klasse enthält ein Objekt einer anderen Klasse.
• Vererbung ("IS-A"): wird verwendet, um die Beziehung zwischen Spezial und Allgemein darzustellen. Wenn die Klasse A die Klasse B (A Erben B) erweitert, enthält die Klasse A nicht nur Methoden der Klasse B, sondern auch Erweiterungsmethoden.
Ein Objekt enthält kein Objekt, bezieht sich jedoch nur auf ein Objekt.
In Java ist der Wert einer Objektvariablen ein Verweis auf ein Objekt, das an einem anderen Ort gespeichert ist. Der Rückgabewert des neuen Bedieners ist ebenfalls eine Referenz.
Der obige Artikel versteht, dass Java -Klassen und -objekte umfassend sind, der Inhalt, den ich Ihnen geteilt habe. Ich hoffe, es kann Ihnen eine Referenz geben und ich hoffe, Sie können Wulin.com mehr unterstützen.