Junior
Wat is abstractie in programmeren?
sobes.tech AI
Antwoord van AI
Abstractie is een mechanisme dat het mogelijk maakt om implementatiedetails te verbergen en een algemene voorstelling van het systeem of de componenten ervan te bieden. Het richt zich op "wat" een object doet, en niet op "hoe" het dat doet.
In C# wordt abstractie gerealiseerd door:
- Abstracte klassen: Kunnen abstracte methoden (zonder implementatie) en gewone leden bevatten. Het is niet mogelijk om een instantie van een abstracte klasse te maken.
// Abstracte klasse met abstracte methode public abstract class Shape { public abstract double GetArea(); // Abstracte methode public string Name { get; set; } public void DisplayInfo() // Gewone methode { Console.WriteLine($"Vorm: {Name}"); } } - Interfaces: Definiëren een contract dat een klasse moet implementeren. Ze bevatten alleen methodedeclaraties, eigenschappen, evenementen en indexers (tot C# 8), of kunnen een standaardimplementatie bevatten (vanaf C# 8).
// Interface public interface IDrawable { void Draw(); // Methode zonder implementatie }
Principes van abstractie:
- Encapsulatie: Het samenvoegen van gegevens en methoden die met deze gegevens werken in één blok. Bevordert het verbergen van de interne structuur.
- Erfelijkheid: Maakt het mogelijk om nieuwe klassen te maken op basis van bestaande, door hun eigenschappen en methoden te erven, en functionaliteit toe te voegen of te overschrijven.
Toepassing van abstractie:
- Vereenvoudiging van complexe systemen.
- Verhoogde flexibiliteit van de code.
- Verbetering van onderhoudbaarheid.
- Het creëren van herbruikbare componenten.