UML Flashcards

1
Q

Was ist Vererbung in Bezug auf die Grundprinzipien der OOP?

A
  • Mit der Vererbung ist es möglich, Gemeinsamkeiten von ähnlichen Klassen in einer Basisklasse zusammenzufassen.
  • Das Prinzip kann sowohl der Spezialisierung als auch der Verallgemeinerung dienen. Die Member der Basisklasse (der Vererbenden) werden von ihren Subklassen (den Erben) übernommen.
  • Subklasse übernimmt alle Member der Basisklasse, die public oder protected sind. Member können auch überschrieben werden. Sie werden dann mit dem gleichen Namen in der Subklasse deklariert.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie sieht Vererbung bei OOP aus?

A
  • Ein offener Pfeil zeigt von der Subklasse auf ihre Basisklasse
  • Der Name der Basisklasse wird durch ZWEI Doppelpunkte getrennt hinter den Namen der Subklasse eingetragen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist mehrstufige Vererbung bei OOP?

A
  • Theoretisch können Klassen beliebig verschachtelt werden. Eine Subklasse kann also eine Basisklasse haben, die ihrerseits eine Subklasse ist.
  • Ein sequentielles, mehrstufiges Erben macht je nach Anwendungszweck durchaus Sinn
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist Mehrfachvererbung bei OOP?

A
  • Über die mehrstufige Vererbung hinaus ist die Mehrfachvererbung möglich, wobei eine Subklasse von mehreren Klassen abgeleitet wird
  • In der Programmierpraxis ist das wenig beliebt
  • Das mehrstufige Erben wird nicht als Mehrfachvererbung bezeichnet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Nennen Sie ein Beispiel für Vererbung in der OOP.

A

• materielle und immaterielle Produkte haben gemeinsam:
o eine Bezeichnung
o eine Seriennummer
o lassen sich erwerben
• Diese werden von der Basisklasse übernommen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was versteht man in der OOP unter Abstraktion?

A
  • Abstraktion ist die Umkehrung von Vererbung
  • Man bildet eine allgemein Superklasse, die die gemeinsamen Anteile ihrer Subklassen beschreibt
  • Eine abstrakte Klasse stellt dabei die höchste Abstraktionsstufe dar.
  • Sie ist so allgemein gehalten, dass sie keine konkreten Objekte beschreiben soll. Sie ist nur als Basisklasse zur Vererbung vorgesehen
  • Sie beantwortet die Frage nach dem was, aber nicht nach dem wie.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie sieht Abstraktion in UML aus?

A
  • Abstrakte Klassen und Attribute werden im UML-Klassendiagramm kursiv geschrieben
  • Alternativ {abstract} vor den Klassen- oder Attributnamen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was versteht man in der OOP unter Kapselung?

A
  • Aus dem allgemeinen Modulprinzip hat die Objektorientierung das Prinzip der Kapselung übernommen
  • Entkopplung der internen Darstellung von Attributen und Methoden von ihrer externen Nutzung
  • Durch Schnittstellenkonzept nur Festlegung, wie sich die Methoden verhalten
  • Vorteil: z.B. Ersetzen eines veralteten Algorithmus durch einen Verbesserten, ohne dass dadurch die anderen Programmteile „gestört“ werden.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Woher kennen wir die Grundzüge der Kapselungen in OOP?

A
  • Von den Sichtbarkeitsmodifikationen

* von der Signatur

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wo finden Kapselungen in der OOP Anwendung?

A

• Schnittstellengedanke:
o Dabei wird davon ausgegangen, dass eine vereinbarte Signatur als Schnittstellendefinition ausreichend ist und die Implementierung nicht relevant für die „Außenwelt“ ist, da Eingang und Ausgang der „Blackbox“ bekannt sind.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie kann mit Hilfe von Kapselungen eine Funktion auf einen professionelleren Stand gebracht werden?

A
•	Durch Beachtung der Kapselungen wird die Signatur nicht geändert
•	Funktion weiterhin operabel, denn:
o	Input gleich
o	Output gleich
o	Funktionsweise dringt nicht nach außen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist Polymorphismus in der OOP?

A
  • In der Objektorientierung versucht man, dem menschlichen Verständnis und Verhalten möglichst nahe zu kommen.
  • Symbole und Begriffe werden oft mit unterschiedlichen Ausprägungen mehrfach verwendet. Das kennen wir z.B. schon von Ein- und Ausgabemethoden für die Console
  • Kann man bestimmte Methoden aus unterschiedlichen Klassen gleicher Weise verstehen, werden diese mit oft dem gleichen Bezeichner versehen, obwohl ihre Algorithmen klassenabhängig unterschiedlich sein können.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie funktioniert Polymorphismus in der OOP?

A

• am Beispiel Fläche der Geometrie
o Algorithmen zur Flächenberechnung bei unterschiedlichen Flächen unterschiedlich, aber die gleiche Bezeichnung wird verwendet
o Durch Bindung an den Kontext (hier: Klasse) wird jeweils der passende Algorithmus benutzt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Nennen Sie Vor- und Nachteile der Objektorientierung (OOP).

A

• Vorteile:
o Keine Trennung von Funktionen und Daten
o Direkte Abbildung realer Objekte
o Durchgängige Methodik für Analyse, Entwurf und Implementierung
o Wiederverwendbarkeit vorhandener Softwaremodule
o Reduzierter Programmieraufwand durch Vererbungsmechanismus
o Evolutionäre Entwicklung
• Nachteile:
o Hoher Schulungsaufwand
o Hohe Anfangskosten beim Umstieg auf objektorientierte Methodik
o Hohe Anforderungen an das Abstraktionsvermögen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly