Buffl uses cookies to provide you with a better experience. You can find more information in our privacy policy.
Ziele der OOP
Problemangemessenheit
Zuverlässigkeit
Wiederverwendbarkeit
Erweiterbarkeit
Qualitätssicherung
Prinzipien der OOP
Datenabstraktion
Modularisierung
Hierarchie
Daten udn Prozeduren (Algoritmen) werden als Einheit gekapselt. Jedes Objekt hat ein “Gedächtnis” und kennt den Zustand seiner Daten. Die beteiligten Objekte tauschen untereinander Botschaften aus. Kein streng sequentelles hierarchies Aufrufen von Funktionen.
Modularisierung Arten
modulare Zerlegbarkeit
modulare Kombinierbarkeit
modulare Verständlichkeit
modulare Stetigkeit
modulare Geschütztheit
Methode unterstützt Zerlegung in Teilprobleme, die unabhängig voneinander gelöst werden können
Mehtode unterstützt die Entwicklung von Softwareelementen, die unabhängig von einem speziellen Gesamtproblem Bausteine eines (neuen) Softwaresystems sein können -> Wiederverwendbarkeit
Methode untersützt die Entwicklung von Softwareelementen, die ohne Kenntnisse eines größeren Umfelds von einem Menschen verstanden werden können -> Wartbarkeit
Methode untersützt die Modularisierung derart, dass kleine Änderungen in der Gesamtproblemstellung sich nur auf möglichs wenig Module auswirken
Methode untersützt Zerlegung, bei denen sich Ausnahmesituationen in einem Modul auf keine oder nur wenige Nachbarmodule auswirken
Das Softwaresystem ist strukturiert nach den beteiligten Objekten des Anwendungsproblems und ihrer Beziehung zueinander
Methoden der OOP
Objekte
Kapselung/Klassenbildung
Polymorphie
Objekt
Abstraktion der realen Welt
mit Attributen: charakteristischen Eigenschaften, die den aktuellen Status des Objekts festlegen
und Methoden: Verhalten und Interaktion zu anderen Objekten
Klasse
legt den Bauplan des Objekts fest. Eigenschaften und Methoden des Objekts werden in diesem logischen Verbund gekapselt.
Kapselung
bedeutet, dass auf die Attribute NUR mit den damit verbundenen Methoden zugegriffen werden kann
Eigenschaft einer Variable für Objekte verschiedener Klassen stehen zu können. Erst zur Laufzeit wird anhand des Typobjekts der Variablen festgelegt, welche Methode aufgerufen wird
Sichtbarkeiten von Attributen
+ public: öffentlich, für alle Klassen sichtbar und benutzbar
~ package: paketweit, für die Klasse selbt sowie für alle Klassen desselben Pakets sichtbar und benutzbar
# protected: geschützt, für die Klasse selbst sowie für alle Unterklassen sichtbar und benutzbar
- private: privat, nur für die Klasse selbst sichtbar und benutzbar
Vererbung (UML)
Beziehung zwischen Oberklasse (Generalisierung) und Unterklasse (Spezialisierung), Symbol: Pfeil, unausgemalte Spitze zur Oberklasse
Assoziation
Beziehung zwischen den Objekten einer Klasse, enthält Beschreibung, Kardinalität, Assoziations- und Rollennamen
einfachte Assoziation
reflexive Assoziation
mehrgliedrige Assoziation
qualifizierende Assoziation
gerichtete Assoziaiton
Aggregation
besondere Form der Assoziation, fachliche Verbindung, in der sich ein Objekt aus einem oder mehreren Teilen zusammensetzt, “has a”-Beziehung. Symbol: Raute, nicht ausgemalt, zum Aggregationsobjekt. Bsp. Lkw - Achsen
Komposition
strenge Form der Aggregation, wobei Teile vom Aggregationsobjekt existenzabhängig sind (Zimmer - Haus), Symbol: ausgemalte Raute beim Aggregationsobjekt
Interface
besondere Form der Klasse, die nur abstrakte Methoden und Konstanten enthält, “implementes”, geht auch mehrmals
Last changeda year ago