In de informatica is een abstracte klasse een klasse die ongedefinieerde methoden kan bevatten. Deze methoden worden geïmplementeerd in een subklasse van de abstracte klasse. Het is niet mogelijk om een object te maken van abstracte klassen maar wel van niet-abstracte subklassen. Door middel van overerving is het wel mogelijk om de methoden die wel gedefinieerd zijn in de abstracte klasse te erven en in de subklassen te gebruiken.

In de programmeertaal Java is er een specifieke vorm van een abstracte klasse, namelijk een interface, waarin alleen ongedefinieerde methoden en constanten in voorkomen. Een van de verschillen is dat een klasse meerdere interfaces kan implementeren maar alleen van één (abstracte) klasse kan overerven.

Voorbeeld in Java bewerken

In Java wordt een abstracte klasse aangeduid met het sleutelwoord abstract:

public abstract class Voorbeeld {
    public abstract void abstracteMethode();
}
public class VoorbeeldSubklasse extends Voorbeeld {
    public void abstracteMethode() {
        System.out.println("Dit is een subklasse van een abstracte klasse");
    }
}

Zie ook bewerken