Was ist ein Objekt im Kontext der Objektorientierung, und welche Rolle spielt es in einem OO-System?
Ein Objekt ist der Grundbaustein eines objektorientierten Systems. Objektorientierte Programme bestehen nahezu ausschließlich aus Objekten, die miteinander interagieren.
Aus welchen zwei Bestandteilen setzt sich ein Objekt zusammen?
Aus Attributen (Eigenschaften/Daten, die den Zustand beschreiben) und Methoden (Funktionen/Verhalten, die das Verhalten beschreiben).
Was speichern Attribute eines Objekts, und wofür stehen sie inhaltlich?
Attribute speichern Informationen bzw. Werte der Variablen eines Objekts – sie repräsentieren den aktuellen Zustand des Objekts.
Dürfen andere Objekte direkt auf die Attribute eines Objekts X zugreifen? Begründe.
Nein. Attribute sind vor direktem Zugriff und direkter Änderung durch andere Objekte geschützt – das ist das Prinzip der Datenkapselung (Encapsulation). Zugriff ist nur indirekt über Methoden möglich.
Wie erfolgt das Lesen oder Ändern von Attributen eines Objekts?
Ausschließlich durch den Einsatz von Methoden des jeweiligen Objekts – nicht durch direkten Zugriff von außen.
Was beschreiben Methoden eines Objekts?
Methoden beschreiben das Verhalten eines Objekts – also das, was ein Objekt "tun" kann.
Was ermöglichen Methoden im Zusammenspiel zwischen Objekten?
Sie ermöglichen anderen Objekten das Lesen, Ändern, Aktualisieren oder Berechnen von Attributen eines Objekts, ohne direkten Zugriff auf die Daten selbst zu haben.
Wie greift ein Objekt konkret auf ein anderes Objekt zu?
Indem es eine Methode auf dem anderen Objekt aufruft (Methodenaufruf) – nicht durch direkten Datenzugriff.
Was ist das Prinzip der Datenkapselung (Encapsulation) und warum ist es wichtig?
Datenkapselung bedeutet, dass die Attribute (der interne Zustand) eines Objekts vor direktem Zugriff und direkter Veränderung durch andere Objekte geschützt sind. Der Zugriff erfolgt nur "kontrolliert" über die Methoden des Objekts. Warum wichtig?
Schützt die Integrität der Daten (kein unkontrolliertes, fehlerhaftes Verändern von außen)
Objekt behält Kontrolle über den eigenen Zustand
Interne Umsetzung kann geändert werden, ohne dass andere Objekte davon betroffen sind (Prinzip "Information Hiding")
Grundlage für stabile, wartbare Schnittstellen zwischen Objekten
Was bedeutet es konkret, dass ein Objekt "eine Methode auf einem anderen Objekt aufruft" – wer "handelt" hier?
Ein Objekt A wendet sich aktiv an ein Objekt B, indem es eine der Methoden von B aufruft (z. B. um einen Wert zu erfragen oder zu ändern). Objekt B selbst führt daraufhin die entsprechende Methode aus und liefert ggf. ein Ergebnis zurück. Objekt A greift dabei zu keinem Zeitpunkt direkt auf die Attribute von B zu – die gesamte Interaktion läuft ausschließlich über den Methodenaufruf.
Erkläre am Beispiel der Kaffeemaschine, wie Attribute, Methoden und Datenkapselung bei einem einzelnen Objekt – etwa dem Wasserbehälter – zusammenwirken.
Der Wasserbehälter könnte als Attribut z. B. seinen aktuellen Füllstand speichern. Dieser Füllstandswert ist vor direktem Zugriff anderer Objekte (z. B. der Wasserleitung) geschützt (Datenkapselung) – die Wasserleitung kann den Füllstand also nicht einfach selbst auslesen oder verändern. Stattdessen müsste der Wasserbehälter eine passende Methode anbieten (z. B. eine Methode, die Wasser abgibt), über die andere Objekte kontrolliert mit ihm interagieren können, ohne direkten Zugriff auf den internen Zustand zu erhalten.
Der Begriff Objekt ist bereits im Namen "Objektorientierung" enthalten und bezeichnet einen Bestandteil eines Systems bzw. eines Programms – ein objektorientiert entwickeltes Programm besteht nahezu ausschließlich aus Objekten, die zur Laufzeit im Hauptspeicher eines Rechners existieren. Ein Objekt kann Attribute (auch: Eigenschaften) und Methoden (auch: Funktionen, Operationen) enthalten. Attribute dienen zum Speichern konkreter Werte bzw. Informationen (z. B. aktuelle Variablenwerte); sie sind vor direktem Zugriff und direkter Änderung durch andere Objekte geschützt – dieses Prinzip nennt man Datenkapselung. Das Lesen und Ändern von Attributen geschieht deshalb ausschließlich über Methoden: Ein Objekt bietet anderen Objekten mithilfe seiner Methoden die Möglichkeit, Attribute zu lesen, zu ändern, zu aktualisieren oder zu berechnen, indem diese die entsprechende Methode auf dem Objekt aufrufen.
Zuletzt geändertvor 4 Stunden