abstract ist ein Schlüsselwort, das von einer Vielzahl objektorientierter Programmiersprachen geteilt wird. Methoden und Klassen können als abstrakt markiert werden, um anzuzeigen, dass sie nicht die vollständige Implementierung der Anwendungslogik enthalten und erweitert werden müssen. Abstrakte Klassen können nicht instanziiert werden und dienen dem Zweck, eine einheitliche Schnittstelle für ihre Unterklassen bereitzustellen sowie allgemeine Methoden zu implementieren, die nicht für jede Unterklasse neu implementiert werden müssen.