Het volgende 'rare' probleem overkwam mij:
Voor een schoolopdracht moet ik een klasse maken die een interface implementeert. Nu moet deze klasse die die interface implementeert abstract zijn. Dat kan dus, maar nu staat er letterlijk in de text dat specifiek 1 methode uit die interface ook abstract moet zijn en volgens mij kan dat niet. Ook de compiler gaat hierover zeuren......
Je krijgt dan dit:
De compiler zeurt hier (uiteraard) over een name clash en dat het een het ander niet 'override'. Volgens mij kan deze constructie ook niet of doe ik hier wat fout?
Het probleem is dus dat ik een abstracte class maak die methodes uit de interface implementeert maar 1 methode uit die interface (in dit geval lessThan) wil ik de klasse uitwerken die onder de baseclass zit. (Dus die overerft van SortedList). Hoe bereik ik dit?
Voor een schoolopdracht moet ik een klasse maken die een interface implementeert. Nu moet deze klasse die die interface implementeert abstract zijn. Dat kan dus, maar nu staat er letterlijk in de text dat specifiek 1 methode uit die interface ook abstract moet zijn en volgens mij kan dat niet. Ook de compiler gaat hierover zeuren......
Je krijgt dan dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| Interface SortedSet<Element> {
public boolean lessThan();
//nog veel meer methodes :)
}
public abstract class SortedList implements SortedSet {
//methodes van de interface worden hier geimplementeerd
//alleen nu moet de methode lessThan uit de interface abstract worden (staat in opgave)
//IMHO kan dit niet :?
public abstract boolean lessThan();
} |
De compiler zeurt hier (uiteraard) over een name clash en dat het een het ander niet 'override'. Volgens mij kan deze constructie ook niet of doe ik hier wat fout?
Het probleem is dus dat ik een abstracte class maak die methodes uit de interface implementeert maar 1 methode uit die interface (in dit geval lessThan) wil ik de klasse uitwerken die onder de baseclass zit. (Dus die overerft van SortedList). Hoe bereik ik dit?