lesson 2 OOP Flashcards
Was sind die Ziele der objektorientierten Programmierung (OOP)?
Die Hauptziele der OOP sind:
- Verringerung von Fehlerquellen.
- Erleichterung der Programmierung durch wiederverwendbaren Code.
- Förderung der Zusammenarbeit in Teams durch intuitive und verständliche Codierung.
- Nutzung wohldefinierter Schnittstellen zur Reduktion von Fehlverwendungen.
Was ist das Konzept der Abstraktion in der OOP?
Abstraktion bedeutet, gemeinsame Eigenschaften und Verhaltensweisen einer Menge ähnlicher Objekte zu identifizieren und diese zu verallgemeinern. Sie reduziert die Komplexität, indem sie sich auf das Wesentliche konzentriert und Details verbirgt. In der OOP wird die Abstraktion durch Klassen erreicht.
Was ist Kapselung und welches Ziel verfolgt sie?
Kapselung bezeichnet das Verbergen der** internen Details eines Objekts** und den Zugriff darauf nur über eine wohldefinierte Schnittstelle. Ziel ist es, den Zustand eines Objekts vor unerlaubten Änderungen zu schützen und die Wartbarkeit des Codes zu erhöhen.
Was ist Vererbung in der OOP und welche Ziele verfolgt sie?
Vererbung beschreibt den Prozess, bei dem eine Klasse (abgeleitete Klasse) die Eigenschaften und Methoden einer anderen Klasse (Basisklasse) erbt. Die Ziele der Vererbung sind:
- Code-Wiederverwendung.
- Ermöglichung von Polymorphismus.
Was ist Generalisierung und Spezialisierung in der OOP?
Generalisierung bedeutet, gemeinsame Eigenschaften und Verhaltensweisen mehrerer Klassen in einer Basisklasse zusammenzufassen. Spezialisierung erweitert die Basisklasse um zusätzliche Eigenschaften und Methoden in abgeleiteten Klassen.
Was bedeutet Polymorphismus in der OOP?
Polymorphismus bedeutet Vielgestaltigkeit und bezeichnet die Fähigkeit eines Objekts, je nach Kontext verschiedene Formen anzunehmen. Es ermöglicht, dass Objekte einer Unterklasse überall dort verwendet werden können, wo Objekte der Basisklasse erwartet werden.
Welche Rolle spielt die dynamische Bindung im Zusammenhang mit Polymorphismus?
Dynamische Bindung bedeutet, dass die Entscheidung, welche Methode aufgerufen wird, zur Laufzeit basierend auf dem tatsächlichen Objekttyp getroffen wird. Dies ist ein zentrales Konzept bei der Umsetzung von Polymorphismus.
Warum ist Abstraktion wichtig in der Softwareentwicklung?
Abstraktion reduziert die Komplexität, indem sie unwichtige Details verbirgt und den Fokus auf die relevanten Eigenschaften und Verhaltensweisen legt. Dadurch wird die Entwicklung und Wartung von Software erleichtert.
Was ist der Unterschied zwischen Vererbung und Polymorphismus?
Vererbung ist der Mechanismus, durch den eine Klasse Eigenschaften und Methoden einer anderen Klasse übernimmt. Polymorphismus hingegen ist die Fähigkeit eines Objekts, je nach Kontext unterschiedliche Formen anzunehmen.
Wie hilft die Kapselung, Fehler zu vermeiden?
Kapselung verhindert, dass der interne Zustand eines Objekts auf unerwartete Weise verändert wird. Durch den Zugriff auf Daten nur über wohldefinierte Schnittstellen kann sichergestellt werden, dass der Zustand des Objekts immer gültig ist.
Wie unterstützt OOP die Wiederverwendbarkeit von Code?
OOP unterstützt die Wiederverwendbarkeit von Code durch Vererbung und Abstraktion. Einmal geschriebene Klassen können von anderen Klassen wiederverwendet und erweitert werden, ohne den Originalcode zu verändern.