OOP-Grundlagen
Klassen & Objekte (C#)
Vererbung & Polymorphie
Interfaces & Abstraktion
Debugging & Codequalität
100

OOP-Grundlagen: Instanz einer Klasse.

Objekt

100

Schlüsselwort, um ein Objekt zu erzeugen.

new

100

Welches Zeichen/Keyword nutzt C# für Vererbung in der Klassendeklaration?

Den Doppelpunkt
(class A : B) 

100

Schlüsselwort zur Deklaration eines Interfaces.

interface

100

In Visual Studio: Wie heisst das Setzen eines roten Punkts, damit das Programm an dieser Stelle anhält?

Breakpoint (Haltepunkt)

200

Prinzip: Daten "verstecken" und Zugriff über kontrollierte Schnittstellen erlauben.

Kapselung (Encapsulation)

200

Was ist der Hauptvorteil einer Property gegenüber einem öffentlichen Field?

Kontrollierter Zugriff (z.B. Validierung) über get/set

200

Schlüsselwort in der Basisklasse, damit eine Methode überschrieben werden kann.

virtual (oder abstract)

200

Warum beginnen viele Interfaces in C# mit I (z.B. IComparable)?

Konvention zur Kennzeichnung als Interface

200

Wie heisst das schrittweise Ausführen eines Programms im Debugger (z.B. F10/F11)?

Step-by-step / Schrittweises Debuggen (Stepping)

300

Wie heisst es, wenn mehrere Methoden gleich heissen, aber unterschiedliche Parameter haben?

Overloading (Methodenüberladung)

300

Standard-Zugriffsmodifikator für Felder/Methoden innerhalb einer Klasse (wenn nichts angegeben ist).

private

300

Schlüsselwort in der abgeleiteten Klasse, um eine virtual-Methode zu überschreiben.

override

300

Nenne einen Unterschied: abstrakte Klasse vs Interface (klassisch).

Abstrakte Klasse kann Zustand/Felder + Konstruktor haben; Interface definiert primär einen Vertrag

300

Du siehst denselben Codeblock in mehreren Methoden. Wie heißt das typische Qualitätsproblem?

Code-Duplikation (Duplicate Code)

400

Beziehung: "hat-ein" statt "ist-ein" (z.B. Auto hat Motor).

Komposition (bzw. Aggregation)

400

Wozu dient ein Konstruktor?

Initialisiert ein Objekt beim Erzeugen (Startzustand setzen)

400

Begriff: Ein Dog wird in einer Variable vom Typ Animal gespeichert.

Upcasting

400

Was passiert, wenn eine Klasse ein Interface implementiert, aber eine geforderte Methode fehlt?

Compile-Error (Klasse muss Member implementieren oder selbst abstract sein)

400

Du gibst einer Variable absichtlich einen aussagekräftigen Namen statt x oder tmp. Wie nennt man das Prinzip?

Sprechende Namen / Meaningful Names

500

4 OOP-Prinzipien – nenne zwei davon.

Kapselung, Vererbung, Polymorphie, Abstraktion

500

Schreib eine Auto-Property für eine ganzzahlige Age-Eigenschaft.

public int Age { get; set; }

500

Mini-Code:
Animal a = new Dog();
a.Speak();

Wann ist das Ergebnis "dog", obwohl a vom Typ Animal ist?

Wenn Speak() in Animal virtual ist und Dog sie mit override überschreibt (dynamischer Dispatch)

500

Warum hilft ein Interface bei Testbarkeit?

Man kann Abhängigkeiten mocken/stubben (Dependency Injection / Entkopplung)

500

Eine Methode macht viel zu viel (liest Input, rechnet, speichert, formatiert Output). Wie nennt man das "Code-Smell"-Problem?

God Method / Long Method (zu grosse Methode)

M
e
n
u