Video: Objektorientierung in Java - Objektorientierte Programmierung in Java Teil 1 2024
Die objektorientierte Programmierung ist eine Art von Computerprogrammierung - wie Java -, die auf der Prämisse beruht, dass alle Programme im Wesentlichen computerbasierte Simulationen von realen Objekten oder abstrakten Konzepten. Zum Beispiel:
-
Flugsimulatorprogramme versuchen das Verhalten realer Flugzeuge nachzuahmen.
-
Viele Computerspiele sind Simulationen von tatsächlichen Spielen, die Menschen spielen, wie Baseball, NASCAR-Rennen und Schach.
-
Sogar Geschäftsprogramme können als Simulationen von Geschäftsprozessen betrachtet werden, z. B. Auftragsannahme, Kundenservice, Versand und Fakturierung.
Objekte sind Programmierobjekte mit bestimmten grundlegenden Eigenschaften:
-
Identität: Jedes Objekt in einem objektorientierten Programm hat eine Identität . Mit anderen Worten kann jedes Auftreten eines bestimmten Objekttyps - eine Instanz - von jedem anderen Auftreten des gleichen Objekttyps sowie von Objekten anderer Typen unterschieden werden.
Jede Objektinstanz hat ihren eigenen Speicherort im Speicher des Computers. Somit haben zwei Objekte, auch wenn sie vom gleichen Typ sein können, ihre eigenen unterschiedlichen Speicherplätze. Die Adresse des Startorts für ein Objekt bietet eine Möglichkeit, ein Objekt von einem anderen zu unterscheiden, da keine zwei Objekte den gleichen Ort im Speicher belegen können.
Java behält die Identität jedes Objekts für sich. Mit anderen Worten, es gibt keine einfache Möglichkeit, die Speicheradresse eines Objekts zu ermitteln. Java stellt fest, dass es Sie nichts angeht, und das zu Recht. Wenn Java Ihnen diese Informationen zur Verfügung stellt, könnten Sie versuchen, daran zu basteln, was zu allen möglichen Problemen führen könnte, wie Ihnen jeder C- oder C ++ - Programmierer sagen kann.
Java-Objekte haben einen sogenannten Hash-Code, , der ein int-Wert ist, der automatisch für jedes Objekt generiert wird und fast die Identität des Objekts repräsentiert. In den meisten Fällen basiert der Hash-Code für ein Objekt auf der Speicheradresse des Objekts, jedoch nicht immer. Java garantiert nicht, dass zwei unterschiedliche Objekte nicht denselben Hashcode haben.
Bei Verwendung mit Objekten testet der Gleichheitsoperator (==) tatsächlich die Objektidentität von zwei Variablen oder Ausdrücken. Wenn sie sich auf die gleiche Objektinstanz beziehen, werden die beiden Variablen oder Ausdrücke als gleich angesehen.
-
Typ: Bei der objektorientierten Programmierung können Sie den verschiedenen Objekttypen in einem Programm Namen zuweisen. In Java definieren Klassen Typen. Wenn Sie also ein Objekt aus einem Typ erstellen, sagen Sie, dass das Objekt den von der Klasse angegebenen Typ hat.Die folgende Beispielanweisung erzeugt ein Objekt vom Typ Rechnung:
Rechnung i = neue Rechnung ();
In diesem Fall wird die Identität dieses Objekts (dh seine Adresse im Speicher) der Variablen i zugewiesen, von der der Compiler weiß, dass er Verweise auf Objekte vom Typ Invoice enthalten kann.
-
Status: Obwohl jede Instanz eines gegebenen Objekttyps die gleichen Attribute hat, hat jede Instanz einen anderen Status: Das heißt, eine andere Kombination von Werten für jedes ihrer Attribute.
Obwohl einige Attribute eines Objekts öffentlich sind, können andere privat sein. Die privaten Attribute können für die interne Operation des Objekts lebenswichtig sein, aber niemand außerhalb des Objekts weiß, dass sie existieren. Sie sind wie deine privaten Gedanken: Sie beeinflussen, was du sagst und tust, aber niemand kennt sie außer dir.
-
Verhalten: Ein weiteres Merkmal von Objekten ist, dass sie Verhalten haben, was bedeutet, dass sie Dinge tun können. Wie bei state hängt das spezifische Verhalten eines Objekts von seinem Typ ab. Im Gegensatz zu state unterscheidet sich das Verhalten nicht für jede Instanz eines Typs.
Angenommen, alle Schüler in einem Klassenzimmer haben Rechner des gleichen Typs. Bitten Sie sie alle, die Taschenrechner herauszuziehen und zwei beliebige Zahlen hinzuzufügen. Alle Taschenrechner zeigen eine andere Zahl an, aber sie alle fügen auf die gleiche Weise hinzu; das heißt, sie haben alle einen anderen Zustand, aber dasselbe Verhalten.
Eine andere Möglichkeit zu sagen, dass Objekte ein Verhalten haben, ist zu sagen, dass sie Dienste bereitstellen, die von anderen Objekten verwendet werden können. Sie haben wahrscheinlich schon viele Beispiele von Objekten gesehen, die Dienste für andere Objekte bereitstellen. Objekte, die aus der NumberFormat-Klasse erstellt wurden, bieten beispielsweise Formatierungsdienste, die numerische Werte in hübsch formatierte Zeichenfolgen umwandeln, z. B. $ 32. 95.
In Java wird das Verhalten eines Objekts durch seine Methoden bereitgestellt. Daher ist die Formatierungsmethode der NumberFormat-Klasse das Formatierungsverhalten für NumberFormat-Objekte.