Sobes.tech
Junior

Was ist Abstraktion in der Programmierung?

sobes.tech KI

Antwort von AI

Abstraktion ist ein Mechanismus, der es ermöglicht, Implementierungsdetails zu verbergen und eine allgemeine Darstellung des Systems oder seiner Komponenten bereitzustellen. Sie konzentriert sich auf das "Was" ein Objekt tut, und nicht auf das "Wie".

In C# wird Abstraktion durch:

  • Abstrakte Klassen: Können abstrakte Methoden (ohne Implementierung) und normale Mitglieder enthalten. Es ist nicht möglich, eine Instanz einer abstrakten Klasse zu erstellen.
    // Abstrakte Klasse mit abstrakter Methode
    public abstract class Shape
    {
        public abstract double GetArea(); // Abstrakte Methode
        public string Name { get; set; }
    
        public void DisplayInfo() // Normale Methode
        {
            Console.WriteLine($"Form: {Name}");
        }
    }
    
  • Schnittstellen: Definieren einen Vertrag, den eine Klasse erfüllen muss. Enthalten nur Methodendeklarationen, Eigenschaften, Ereignisse und Indexer (bis C# 8), oder können eine Standardimplementierung enthalten (ab C# 8).
    // Schnittstelle
    public interface IDrawable
    {
        void Draw(); // Methode ohne Implementierung
    }
    

Prinzipien der Abstraktion:

  • Kapselung: Zusammenfassung von Daten und Methoden, die mit diesen Daten arbeiten, in einem einzigen Block. Fördert die Verbergung der internen Struktur.
  • Vererbung: Ermöglicht das Erstellen neuer Klassen auf Basis bestehender, indem deren Eigenschaften und Methoden geerbt werden, und fügt Funktionalitäten hinzu oder überschreibt sie.

Anwendung der Abstraktion:

  • Vereinfachung komplexer Systeme.
  • Erhöhung der Flexibilität des Codes.
  • Verbesserung der Wartbarkeit.
  • Erstellung wiederverwendbarer Komponenten.