Hauptunterschied : Es gibt zwei Haupttypen von Klassen: Abstrakte Klasse und Konkrete Klasse. Der Hauptunterschied zwischen den beiden ergibt sich aus dem Implementierungsgrad ihrer Methodenfunktionalitäten. Konkrete Klassen sind reguläre Klassen, bei denen alle Methoden vollständig implementiert sind. Eine abstrakte Klasse ist genau das, was der Name vermuten lässt. Hier werden die Funktionen nicht definiert, dh sie sind abstrakt.
Es gibt zwei Haupttypen von Klassen: Abstract Class und Concrete Class. Der Hauptunterschied zwischen den beiden ergibt sich aus dem Implementierungsgrad ihrer Methodenfunktionalitäten. Konkrete Klassen sind reguläre Klassen, bei denen alle Methoden vollständig implementiert sind. Eine abstrakte Klasse ist genau das, was der Name vermuten lässt. Hier werden die Funktionen nicht definiert, dh sie sind abstrakt. Es ist die Basisklasse. Sobald eine abstrakte Klasse definiert ist, ist sie nicht mehr abstrakt und wird zu einer konkreten Klasse. In einer konkreten Klasse werden die Implementierungen für die Member-Funktionen bereitgestellt. Eine konkrete Klasse wird von der Basisklasse abgeleitet, dh der abstrakten Klasse.
Ein leichterer Weg, darüber nachzudenken, wäre ein Beispiel. Denken Sie an Sport, es ist ein Objekt, aber eines, das nicht definiert ist. Technisch gibt es keinen Sport. Sie existiert nur als Kategorisierung für andere Objekte. Diese Objekte wie Fußball, Baseball, Basketball, Hockey usw. sind definierte Objekte, die unter Sport kategorisiert und implementiert werden können. Daher ist Sport die abstrakte Klasse, während Fußball, Baseball, Basketball und Hockey konkrete Klassen sind.
Vergleich zwischen Abstract Class und Concrete Class:
Abstrakte Klasse | Betonklasse | |
Art | Basisklasse | Standardklasse |
Methoden | Kann teilweise implementierte Methoden enthalten | Alle Methoden sind vollständig implementiert |
Funktionen | Einige oder alle deklarierten Funktionen sind rein virtuell | Keine rein virtuellen Funktionen |
Instantiation | Kann nicht instanziiert werden | Kann instanziiert werden |
Mit freundlicher Genehmigung von: tutorials.jenkov.com, stackoverflow.com