PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Abgeleitete Klasse = konkrete Klasse?



vixo
15.09.2016, 13:50
Guten Tag,
ich beschäftige mich momentan mit dem Thema Klassen.
ich habe folgendes gelesen:

- Klassen die Instanzen besitzen nennt man konkrete Klassen.
- abgeleitete Klassen besitzen Instanzen
- Klassen ohne Instanzen nennt man abstrakte Klassen.

nun meine Frage:

Sind konkret Klassen gleich abstrakte Klassen?
Denn es ist doch so, das abgeleitete Klassen Instanzen besitzen, und auch die konkreten Klassen Instanzen besitzen. Gibt es einen Unterschied?

Ich danke euch!

Ceos
15.09.2016, 14:33
Abstrakte Klassen sind Klassen mit Attributen und Methoden die aber nicht Instaziiert werden können weil sie nicht vollständig (nicht konkret) beschrieben/implementiert sind.
Um eine abstrakte Klasse "nutzen" zu können muss man die fehlenden Beschreibungen ergänzen indem man die Klasse ableitet und eine konkrete Klasse bildet.

In Java gibt es dann noch Interfaces, das sind dann Quasi-Klassen nur mit Methodensignaturen ... auf C übertragen ist dass so etwas wie eine Header File ohne C Implementierung

vixo
15.09.2016, 15:12
Danke, Ceos für deine hilfreiche Antwort.

Nochmal zum Verständnis ein Beispiel:

Klasse: Fahrzeug
abgeleitete Klasse: Auto

- Die Klasse Fahrzeug ist eine abstrakte Klasse. Aus ihr kann keine Instanz erzeugt werden.
- Die abgeleitete Klasse Auto ist eine konkrete Klasse. Sie bekommt Attribute und Methoden von der Klasse "Fahrzeug" vererbt. Aus ihr können Instanzen erzeugt werden.

Ist das so korrekt?

Danke

Ceos
15.09.2016, 16:31
ja, auch wenn streng genommen Auto auch nicht seeehr konkret ist :D

vixo
15.09.2016, 17:02
Ist "BMW XY" besser? :)