# Eclipse - abgeleitete Klassen erstellen



## guni (18. Jan 2008)

Hallo, 

beim Klassen erstellen habe ich in Eclipse die Möglichkeit, "inherit abstract methods" anzuhakerln. Wie aber kann ich beim Erstellen einer Klasse festlegen, was meine abstrakte Klasse werden soll?!?!

lg, guni


----------



## SlaterB (18. Jan 2008)

irgendwo mittig steht 
Superclass: [java.lang.Object_________]    [Browse]

da


----------



## guni (18. Jan 2008)

mhm ... ja - aber da hab ich meine Klasse nicht zur Auswahl!
wieso nicht?


----------



## guni (18. Jan 2008)

schon gefunden - danke ....


----------



## DLor (18. Jan 2008)

deine klasse soll abstrakt sein?

dann mach doch nachher im Code "abstract class MyClass"

eine Klasse ist doch erst dann abstrakt, wenn eine Methode nicht ausformuliert wird, aber in allen Subclasses sein muss!


----------



## ms (18. Jan 2008)

DLor hat gesagt.:
			
		

> eine Klasse ist doch erst dann abstrakt, wenn eine Methode nicht ausformuliert wird, aber in allen Subclasses sein muss!


Eine Klasse ist dann abstrakt, wenn das 'abstract'-Keyword bei der Klassendefinition steht, egal ob eine abstrakte Methode in der Klasse ist oder nicht.

ms


----------



## DLor (18. Jan 2008)

da hast du recht MS, aber wo ist der genaue Sinn davon?
Du darfst kein Objekt davon erstellen... SUPER!


----------



## ms (18. Jan 2008)

Als Template kann so eine Klasse schon Sinn machen.
Aber es stimmt schon, in den meisten Fällen wird es min. eine abstrakte Methode geben.

ms


----------



## ARadauer (18. Jan 2008)

"aber wo ist der genaue Sinn davon? "
das du die ableitenden klassen zwingst eine funktionalität zu implementieren


----------



## SlaterB (18. Jan 2008)

ohne abstrakte Operation kein Zwang


----------



## ms (18. Jan 2008)

Man sollte das nicht so negativ sondern eher positiv sehen:
Du bist nicht gezwungen, sondern du hast die Möglichkeit abzuleiten.  :wink: 

ms


----------



## maki (18. Jan 2008)

ARadauer hat gesagt.:
			
		

> "aber wo ist der genaue Sinn davon? "
> das du die ableitenden klassen zwingst eine funktionalität zu implementieren


Naja, ohne abstrakte Methoden werden die "Nutzer" gezwungen abzuleiten, ohne zu implementieren 
Wo ist da der Sinn?

k.A. ehrlich gesagt


----------



## guni (18. Jan 2008)

also ich brauch meine abstrakte Klasse für ein composite - aber mehr weiß ich dazu auch nicht weil *eigentlich* bin ich ja nur ein Anfänger 
auch in der OO *gg*

anyway - was anderes, das mich noch zu Eclipse interessieren tät:

ich hab meine abstrakte Klasse und ein paar abgeleitete Klassen.
Jetzt komm ich drauf, dass ich einen Parameter einer Methode gern anders nennen würde.
Hab mich schon ein bisschen mit der Refactor-Möglichkeit von Eclipse herumgespielt aber da hab ich nicht wirklich was gefunden:

kann ich den Parameter in den abgeleiteten Klassen automatisiert ändern?!

lg, guni


----------



## ms (18. Jan 2008)

Hier eine abstrakte Klasse ohne abstrakte Methoden: http://static.springframework.org/s...m/hibernate3/support/HibernateDaoSupport.html

Mit Refactor-Rename solltes du den Variablennamen ändern können.
Außerdem kannst du die Getter und Setter gleich mit umbenennen.
Was genau geht denn nicht?

ms


----------



## Guest (18. Jan 2008)

guni hat gesagt.:
			
		

> kann ich den Parameter in den abgeleiteten Klassen automatisiert ändern?!


Mit dem Cursor zum Parameter gehen, Alt Shift R, neuen Namen eingeben, Enter.


----------



## guni (18. Jan 2008)

habs schon ...

noch eine Frage: kann ich in Eclipse aus meinem Java Projekt automatisiert UML-Klassendiagramme erstellen?!


----------

