Sobes.tech
Junior

Erzählen Sie über Paradigmen und Prinzipien der objektorientierten Programmierung.

sobes.tech KI

Antwort von AI

Paradigmen der objektorientierten Programmierung:

  1. Kapselung: Verbergen von Daten und Methoden innerhalb einer Klasse, Zugriff auf sie über eine Schnittstelle.
  2. Vererbung: Erstellen neuer Klassen (Unterklassen) basierend auf bestehenden Klassen (Oberklassen), wobei deren Eigenschaften und Methoden geerbt werden.
  3. Polymorphismus: Fähigkeit, Objekte verschiedener Klassen über eine gemeinsame Schnittstelle zu verwenden und spezifisches Verhalten jeder Klasse auszuführen.

Prinzipien der OOP (SOLID):

  1. Single Responsibility Principle (SRP): Jede Klasse ist für eine einzelne Funktion verantwortlich.
  2. Open/Closed Principle (OCP): Klassen sollten offen für Erweiterungen, aber geschlossen für Änderungen sein.
  3. Liskov Substitution Principle (LSP): Objekte der Basisklasse können durch Objekte der abgeleiteten Klasse ersetzt werden, ohne die Korrektheit des Programms zu beeinträchtigen.
  4. Interface Segregation Principle (ISP): Clients sollten nicht von Schnittstellen abhängig sein, die sie nicht nutzen.
  5. 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