PDA

View Full Version : [Runde 4] - abstract class ?! WTF?!


myst1cal
05-01-2005, 20:54
also hab ein kleines problemchen..naja eher ein großes

" Die Klasse Complex soll von Number (aus der Package java.lang) erben."

gut...mach ich also extends Number...wunderbar...
nurkommt jetzt folgender fehler (mit welchem ich absolut NICHTS anfangen kann)
.\komplex\Complex.java:5: komplex.Complex is not abstract and does not override
abstract method doubleValue() in komplex.Complex
public class Complex extends Number {
^

wüsste gern wozu ich das ganze von Number erben lassen soll
und vorallem was das mit dem fehler da soll

hab null plan
danke schonmal

mfg myst

DePadA
05-01-2005, 21:16
Wenn eine Klasse abstrakt ist, enthält Sie nur die Definition einer bestimmten Methode nicht aber deren genaue Realisierung. Die Realisierung muß dann in der abgeleiteten Klasse erfolgen, oder so ähnlich.
Du hast zB. die Hautklasse geometrische Figur, welche zb: Methoden zum setzen von Koordinaten usw. enthält und eine Methode für die Berechnung des Flächeninhaltes. Da in der Klasse Figur nicht bekannt ist, wie sich die Flächeninhalte von abgeleiteten Figuren (Kreis, Dreieck, Quadrat) berechnen, für jede Figur aber ein Flächeninhalt berechnet werden kann, wird diese Methode als abstract definiert und muß dann in der jeweiligen Klasse implementiert werden.
Naja, nicht gerade das beste Bsp., aber vielleich hilfts ja ein bisschen...
Grüße

locutus
05-01-2005, 21:17
komplex/Complex.java:5: komplex.Complex is not abstract and does not override abstract method doubleValue() in komplex.Complex
public class Complex extends Number
Complex ist nicht abstrakt und kann daher instanziert werden. Die von Number geerbte Methode doubleValue() ist jedoch abstrakt definiert. Daher muss eine nicht-abstrakte Subklasse diese Methode mit einer nicht-abstrakten Implementierung überschreiben. (im einfachsten aber nicht notwendigerweise korrekten Fall mit "super.doubleValue()")

myst1cal
05-01-2005, 21:22
welches kapitel im horton les ich da am besten, weil ich hab kein plan was das "super" sein soll
und das kapitel "abstract classes" hat mich ned weitergebracht

//eigentlich hab ich überhaupt keine ahnung im moment.. :/

locutus
05-01-2005, 21:58
welches kapitel im horton les ich da am besten, weil ich hab kein plan was das "super" sein soll
in meinem horton stehts in chapter 6 - extending classes and inheritance. am besten schaust du im index unter "super keyword" nach.