Sobes.tech
Junior

Wat is een abstracte klasse?

sobes.tech AI

Antwoord van AI

Een abstracte klasse is een klasse die niet rechtstreeks kan worden gemaakt met behulp van de operator new. Het dient als basis voor andere klassen en kan abstracte methoden (zonder implementatie) en gewone methoden (met implementatie) bevatten. Abstracte klassen worden gedefinieerd met het sleutelwoord abstract.

Belangrijkste kenmerken:

  • Kan niet worden geïnstantieerd: Het is niet mogelijk om een object van de abstracte klasse zelf te maken.
  • Kan abstracte methoden bevatten: Methoden zonder lichaam, die in de afgeleide klassen moeten worden overschreven.
  • Kan gewone methoden bevatten: Methoden met implementatie, die kunnen worden geërfd of overschreven.
  • Erfelijkheid: Afgeleide klassen erven van de abstracte klasse en moeten al haar abstracte methoden implementeren.

Voorbeeld:

abstract class Shape {
  // Abstracte methode zonder implementatie
  double getArea();

  // Gewone methode met implementatie
  void describe() {
    print('Dit is een figuur.');
  }
}

class Circle extends Shape {
  double radius;

  Circle(this.radius);

  // Implementatie van de abstracte methode
  @override
  double getArea() {
    return 3.14 * radius * radius;
  }
}

class Square extends Shape {
  double side;

  Square(this.side);

  // Implementatie van de abstracte methode
  @override
  double getArea() {
    return side * side;
  }
}