03 OOP

Cards (15)

  • Welche Arten von Modulen gibt es?

    1. Pure Module: Bestehen aus reinem Python-Quellcode und sind in einzelnen .py-Dateien zu finden, eventuell ergänzt durch .pyc oder .pyo-Dateien.
    2. Extension Modules: Werden mit Hilfe anderen Programmiersprachen wie C gespreichert und in Python importiert
  • Welche Arten von Packages gibt es?

    1. Import Packages: Diese sind auf dem Entwicklungsrechner installiert und können mit der import-Anweisung verwendet werden.
    2. Distribution Packages: Ermöglicht es den Code für andere Entwickler zur verfügung zustellen. Sie können aus dem Internet heruntergeladen und installiert werden, oft über PyPI (Python Package Index) und das Tool pip.
  • Was ist Vererbung in der objektorientierten Programmierung?
    Vererbung bedeutet, dass eine neue Klasse (Subklasse) die Attribute und Methoden einer bestehenden Klasse (Superklasse) übernimmt.
    Die Subklasse kann zusätzliche Attribute und Methoden hinzufügen oder geerbte Methoden überschreiben.
  • Was ist der Unterschied zwischen einer Superklasse und einer Subklasse?
    Eine Superklasse ist die ursprüngliche Klasse, von der Attribute und Methoden vererbt werden.
    Eine Subklasse ist die neue Klasse, die die Eigenschaften der Superklasse erbt und erweitern oder verändern kann.
  • Wie hilft Vererbung bei der Wiederverwendung von Code?
    Vererbung fördert die Wiederverwendung von Klassendefinitionen, indem Subklassen den Code der Superklassen nutzen und spezialisieren können. So müssen gemeinsame Eigenschaften nicht mehrfach definiert werden.
  • Was bedeutet es, wenn eine Klasse eine andere Klasse "überschreibt"?
    Eine Klasse überschreibt eine andere Klasse, wenn sie eine Methode mit dem gleichen Namen wie die der Superklasse definiert und damit deren Verhalten verändert.
  • Was versteht man unter Generalisierung in der objektorientierten Programmierung?
    Generalisierung ist der Prozess, bei dem gemeinsame Eigenschaften in einer Superklasse zusammengefasst werden. Diese Superklasse wird dann von spezialisierteren Subklassen erweitert. Beispielsweise ist "Auto" eine Generalisierung der Klassen "Limousine", "Sportwagen" und "SUV".
  • Warum werden abstrakte Klassen verwendet?
    Abstrakte Klassen definieren generisches Verhalten, das von ihren Subklassen spezifiziert werden muss. Sie erlauben die Definition gemeinsamer Schnittstellen, während die spezifische Implementierung in den Subklassen erfolgt.
  • Was ist eine Vererbungshierarchie?
    Struktur, die entsteht wenn Klassen über mehrere Stufen hinweg von anderen Klassen erben. Jede Stufe in dieser Hierarchie kann Eigenschaften und Methoden der darüber liegenden Stufen übernehmen.
  • Was ist eine Klasse und wie wird sie definiert?
    Eine Klasse ist ein Bauplan für die Erstellung von Objekten mit gemeinsamen Eigenschaften und Verhaltensweisen. Sie wird in Python mit dem Schlüsselwort class definiert, gefolgt vom Klassennamen und einem Doppelpunkt. Methoden und Attribute werden innerhalb der Klassendefinition definiert.
  • Was ist ein Objekt?
    Eine Software Komponente besteht aus Attributen und Methoden. Software-Objekte entsprechen oft Objekten der realen Welt.
  • Was ist eine Schnittstelle (interface)?
    Eine Festlegung von Verhaltungsmöglichkeiten.
    ABER: Diese Konzept gibt es bei Python nicht
  • Wieso gibt es keine Schnittstellen bei Python nicht?
    Weil Python sie als Klassen sowie abstrakte Klassen darstelt.
  • Was ist ein Module?
    Wiederverwendbare Codeeinheit
    Dateien die Funktionen, Variablen und Klassen enthalten
  • Was ist ein Package?
    Ein Verzeichnis, dass verwendete Module enthält und zur Organisation und Struktur des Codes verwendet wird