Abstrakte Klasse
Eine abstrakte Klasse bezeichnet spezielle Methoden und Variablen einer Klasse (Kategorie von Objekten), die eine oder mehrere abstrakte Methoden enthalten. Abstrakte Klassen werden in allen objektorientierten Programmiersprachen (OOP) verwendet, einschließlich Java, C++, C# und VB.NET. Objekte oder Klassen können abstrahiert werden, was bedeutet, dass sie zu Merkmalen zusammengefasst werden, die für den aktuellen Programmablauf relevant sind.
Einzelne Instanzen, die aus Klassen entstehen, sind Objekte. Eine Klasse als abstrakt zu deklarieren bedeutet, dass sie nicht direkt instanziiert werden kann, das heißt es kann kein Objekt aus ihr erzeugt werden. Das schützt den Code vor falscher Verwendung. Abstrakte Klassen erfordern, dass Unterklassen weitere Attribute definieren, die für eine individuelle Instanziierung erforderlich sind. Abstrakte Klassen stehen im Gegensatz zu konkreten Klassen, die der Standardtyp sind. Eine konkrete Klasse hat keine abstrakten Methoden und kann instanziiert und im Code verwendet werden.
Abstrakte Klassen sind für die Programmierung nicht erforderlich, doch das Konzept dient dazu, den Code sauberer zu halten und die Programmierung effizienter zu gestalten, da nicht ständig auf andere Details verwiesen wird. Um plattformunabhängig zu sein, wird Java-Code in Klassendateien kompiliert, die von jeder Java Virtual Machine (JVM) interpretiert werden können. Die resultierende Klassendatei kann auf verschiedenen Rechnern ausgeführt werden, sobald eine kompatible JVM für die jeweilige Betriebssystemplattform heruntergeladen und installiert wurde.
Siehe ein kurzes Tutorial über abstrakte und konkrete Klassen: