Junior
Erzählen Sie über Paradigmen und Prinzipien der objektorientierten Programmierung.
sobes.tech KI
Antwort von AI
Paradigmen der objektorientierten Programmierung:
- Kapselung: Verbergen von Daten und Methoden innerhalb einer Klasse, Zugriff auf sie über eine Schnittstelle.
- Vererbung: Erstellen neuer Klassen (Unterklassen) basierend auf bestehenden Klassen (Oberklassen), wobei deren Eigenschaften und Methoden geerbt werden.
- Polymorphismus: Fähigkeit, Objekte verschiedener Klassen über eine gemeinsame Schnittstelle zu verwenden und spezifisches Verhalten jeder Klasse auszuführen.
Prinzipien der OOP (SOLID):
- Single Responsibility Principle (SRP): Jede Klasse ist für eine einzelne Funktion verantwortlich.
- Open/Closed Principle (OCP): Klassen sollten offen für Erweiterungen, aber geschlossen für Änderungen sein.
- Liskov Substitution Principle (LSP): Objekte der Basisklasse können durch Objekte der abgeleiteten Klasse ersetzt werden, ohne die Korrektheit des Programms zu beeinträchtigen.
- Interface Segregation Principle (ISP): Clients sollten nicht von Schnittstellen abhängig sein, die sie nicht nutzen.
- Dependency Inversion Principle (DIP): Module höherer Ebenen sollten nicht von Modulen niedrigerer Ebenen abhängen; beide sollten von Abstraktionen abhängen.
Beispiel für Kapselung und Vererbung:
// Basisklasse
public class Animal
{
public string Name { get; set; }
public Animal(string name)
{
Name = name;
}
public virtual void MakeSound()
{
Console.WriteLine("Ein generisches Geräusch");
}
}
// Abgeleitete Klasse
public class Dog : Animal
{
public Dog(string name) : base(name)
{
}
// Überschreiben der Basisklassenmethode
public override void MakeSound()
{
Console.WriteLine("Wuff!");
}
}
Beispiel für Polymorphismus:
Animal myAnimal = new Dog("Buddy");
myAnimal.MakeSound(); // Gibt "Wuff!" aus