09 Objektgrundlagen

Cards (33)

  • Was umfasst der Lebenslauf eines Objekts?
    1. Erzeugung,
    2. Initialisierung,
    3. Nutzung von Members,
    4. Löschung
  • Wie nennt man es, wenn Objekte in Python Nachrichten austauschen?
    Wechselseitiger Methodenaufruf
  • Was ist der erste Schritt zur Erzeugung eines Objekts?
    Instantiierung durch Nennung des Klassennamens.
  • Was ist der Zweck der `__init__`-Methode in Python?
    Initialisierung der Instanzenvariablen eines Objekts.
  • Was bedeutet "dynamische Typisierung" in Python?
    Variablen haben keine feste Typzuweisung und der Typ wird zur Laufzeit bestimmt.
  • Was passiert, wenn ein Objekt nicht mehr referenziert wird?
    Es kann vom Garbage Collector freigegeben werden.
  • Wie können Instanzen-Members innerhalb einer Klasse adressiert werden?
    Über das Keyword `self`
  • Was ist ein Default-Wert für eine Instanzenvariable in der `__init__`-Methode?
    Ein Anfangswert, der zugewiesen wird, wenn kein spezifischer Wert übergeben wird.
  • Wie wird ein Objekt in Python typischerweise instanziiert?
    Durch Aufruf des Klassennamens gefolgt von einer Argumentliste.
  • Was passiert, wenn in Python Argumente für die Initialisierung fehlen?

    Die `__init__`-Methode setzt die fehlenden Parameter auf Default-Werte.
  • Was ist eine Klasse in Python?
     Eine Blaupause zur Erstellung von Objekten.
  • Was sind Klassenvariablen?
    Variablen, die für alle Instanzen einer Klasse gleich sind
  • Was sind Instanzenmethoden?
    Methoden, die auf Instanzen einer Klasse angewendet werden und auf Instanzenvariablen zugreifen können.
  • Wie werden Klassenmethoden in Python definiert?
    Mit dem Dekorator `@classmethod` und einem `cls`-Parameter.
  • Was ist der Unterschied zwischen Instanzenmethoden und Klassenmethoden?
    Instanzenmethoden operieren auf Instanzen
    Klassenmethoden operieren auf der Klasse selbst.
  • Was sind statische Methoden?
    Methoden, die keinen Zugriff auf Instanzen- oder Klassenvariablen haben und mit dem Dekorator `@staticmethod` definiert werden.
  • Wie greift man innerhalb einer Klasse auf eine Klassenvariable zu?
    Über `cls.VARIABLE` innerhalb einer Klassenmethode oder `Klassenname.VARIABLE`.
  • Wie kann man eine Methode außerhalb der Klasse aufrufen?
    Durch den Punktoperator, z.B. `objekt.methode()`.
  • Was passiert, wenn man versucht, auf eine nicht existierende Instanzenvariable zuzugreifen?
    Es wird ein `AttributeError` ausgelöst.
  • Wie definiert man eine einfache Klasse in Python?
    Mit dem `class`-Schlüsselwort gefolgt von dem Klassennamen und einem Doppelpunkt.
  • Was ist das Konzept der Vererbung in Python?
    Eine Klasse kann von einer anderen Klasse erben und deren Eigenschaften und Methoden übernehmen.
  • Wie definiert man eine Unterklasse in Python?
    Mit dem `class`-Schlüsselwort, gefolgt vom Namen der Unterklasse und dem Namen der Basisklasse in Klammern.
  • Was ist die Bedeutung von `super()` in Python?
    Es wird verwendet, um Methoden der Basisklasse in der Unterklasse aufzurufen.
  • Was ist Polymorphismus in der OOP?
    Die Fähigkeit, dass verschiedene Klassen Methoden mit demselben Namen, aber unterschiedlichem Verhalten haben können.
  • Was ist Kapselung in der Objektorientierung?
    Das Verbergen der internen Zustände und das Bereitstellen von Zugriffsmethoden.
  • Wie definiert man eine private Variable in einer Python-Klasse?
    Durch Voranstellen von zwei Unterstrichen (`__`) vor den Variablennamen.
  • Was ist eine magische/dunder Methode in Python?
    Methoden, die besondere Namen haben und von Python automatisch aufgerufen werden, wie `__init__` oder `__str__`.
  • Was bewirkt die `__str__`-Methode in einer Klasse?
    Sie definiert die Rückgabe eines benutzerfreundlichen String-Formats eines Objekts.
  • Wie kann man überprüfen, ob ein Objekt eine Instanz einer bestimmten Klasse ist?
    Mit der Funktion `isinstance(obj, Klasse)`.
  • Was ermöglicht das Konzept der Mehrfachvererbung?
    Eine Klasse kann von mehreren Basisklassen erben.
  • Was macht die Magic Method __init__?
    Sie initialisiert ein neues Objekt einer Klasse. Wird beim Erstellen einer Instanz aufgerufen.
  • Was ist die Funktion der Magic Method __add__?

    Sie definiert das Verhalten des Additionsoperators + für Objekte der Klasse.
  • Was macht die Magic Method __len__?

    Sie gibt die Länge eines Objekts zurück. Wird von der len() Funktion aufgerufen.