19 Softwaretechnik - Objektorientierter Entwurf Flashcards
Welche Prinzipien der Objektorientierung werden im Entwurf angewendet?
Die Prinzipien der Objektorientierung im Entwurf sind: Abstraktion (Klassen und Objekte), Single Responsibility Principle, Datenkapselung/Information Hiding, Vererbung und Polymorphie & Dynamic Binding.
Was versteht man unter dem Prinzip der Abstraktion in der objektorientierten Programmierung?
Abstraktion bedeutet, dass aus vielen ähnlichen Objekten der Realität gemeinsame Merkmale (Attribute) identifiziert und auf ein gemeinsames Modell, die Klasse, abgebildet werden. Eine Klasse dient als Schablone zur Erzeugung von Objekten (Instanzen).
Was ist das Single Responsibility Principle?
Das Single Responsibility Principle besagt, dass jede Klasse eine spezifische Aufgabe haben sollte und nur für die Daten und Operationen eines spezifischen Teils der Software verantwortlich ist. Es sollte eine klare Trennung der Zuständigkeiten geben.
Wie wird Datenkapselung (Information Hiding) in der objektorientierten Programmierung umgesetzt?
Datenkapselung bedeutet, dass ein Objekt so wenig Informationen wie möglich nach außen zeigt. In Java werden beispielsweise Daten durch private Attribute gekapselt, auf die nur über öffentliche Methoden (Setter/Getter) zugegriffen werden kann, was die Wartbarkeit verbessert.
Was ist Vererbung in der objektorientierten Programmierung?
Vererbung ermöglicht es einer Klasse (Unterklasse), eine andere Klasse (Oberklasse) zu erweitern oder von ihr abzuleiten. Dabei erbt die Unterklasse alle Methoden und Attribute der Oberklasse und kann zusätzlich eigene Methoden und Attribute hinzufügen.
Was bedeutet Polymorphie & Dynamic Binding?
Polymorphie bedeutet, dass Methoden einer Klasse bei Vererbung durch spezifischere Varianten überschrieben werden können. Dynamic Binding sorgt dafür, dass zur Laufzeit stets die spezialisierte Methode ausgeführt wird, selbst wenn ein Objekt auf eine Oberklasse gecastet wurde.
Was ist ein UML-Klassendiagramm?
Ein UML-Klassendiagramm ist eine grafische Darstellung, die Klassen, ihre Attribute, Methoden sowie die Beziehungen zwischen den Klassen (wie Assoziationen, Vererbung und Implementierungen) in einem objektorientierten Modell darstellt.
Was sind Assoziationen in UML-Klassendiagrammen?
Assoziationen repräsentieren Beziehungen zwischen zwei Klassen. Sie können gerichtet sein, um die Navigierbarkeit zu demonstrieren, und Multiplizitäten an den Assoziationsenden zeigen an, wie viele Instanzen einer Klasse mit einer Instanz der anderen Klasse verbunden sein können.
Was ist der Unterschied zwischen Aggregation und Komposition?
- Aggregation: Modelliert eine Teil-Ganzes-Beziehung, bei der Teile unabhängig vom Ganzen existieren können.
- Komposition: Ein Spezialfall der Aggregation, bei dem die Teile nicht ohne das Ganze existieren können. Wenn das Ganze gelöscht wird, werden auch die Teile gelöscht.
Welche zentralen Aktivitäten gibt es beim objektorientierten Entwurf?
Die zentralen Aktivitäten beim objektorientierten Entwurf sind: 1) Identifizieren von Objekten und Klassen, 2) Festlegen des Verhaltens der Objekte und Klassen, 3) Identifizieren von Beziehungen zwischen den Klassen und 4) Festlegen der Schnittstellen zwischen Klassen.