Abstrakte Klassen - theoretische Frage

glitsch

Aktives Mitglied
Hi zusammen,
das ist eine rein theoretische Frage zu abstrakten Klassen: kann man in abstrakten Klassen getter, setter ausdefinieren? Ich habe gelernt in abstrakten Klassen Methoden nicht auszudefinieren? Sehe ich das Konzept dahinter richtig? Man definiert nie wirklich eine Methode aus, sondern schreibt nur hin, es gibt eine Methode als abstrakte "Vorlage/Plan".

Vielen Dank für die Hilfe!
Glitsch
 
Wenn es konkretes Verhalten gibt, kann man Methoden auch ausdefinieren. Es ist sogar recht oft der Fall, dass man in abstrakten Klassen eine Mischung aus einigen fertig ausdefinierten (also nicht-abstrakten) Methoden und einigen abstrakten Methodendefinitionen hat. Ein reiner Bauplan ohne ausdefinierte Methoden wäre in Java auch besser als Interface zu lösen.
 
Zuletzt bearbeitet von einem Moderator:
Wie nillehammer schon sagte: wenn überhaupt kein "laufender Code" in der Klasse sein soll, dann ist es eher ein Interface.

Ansonsten liegt der Unterschied im "AbstractSubClass extends AbstractClass" vs. "MyClass implements MyInterface" - ein Interface stellt keine Funktionalität bereit, eine AbstractClass kann kann Funktionalität bereitstellen und wie beim Interface die Implementation bestimmter Methoden erzwingen.

Eine "public abstract class AbstractClass" die keinerlei "abstract methodX()" drin hat, verhält sich genauso wie eine normale Klasse (tut sie das?)

Bernd
 

Zurück
Oben