methode override

Status
Niet open voor verdere reacties.

IgorJavaFan

Gebruiker
Lid geworden
8 jul 2009
Berichten
24
Hallo;

Ik ben volop bezig om Java onder de knie te krijgen en in een van mijn opdrachten moet ik een override maken van een bestaande methode.
Het is de bedoeling dat ik een aantal seconden omzet van een int naar een double. Echter krijg ik steeds een foutmelding dat het type niet overeenkomt met de bestaande methode.
Dit is de superklasse waar de methoden addSeconden() en getSeconden() in staan en die dus in de subklasse overschreven moeten worden naar een double:
Code:
public class Tijdsinterval {

	
	public int seconden;
	public int minuten;
	public int uren;
	public int totaalSeconden;
	public int restSeconden;
	
	public Tijdsinterval(){
		this.seconden = 0;
	}
	public void addSeconden(int seconden){
		this.seconden = seconden;
	}
	public void addMinuten(int minuten){
		this.minuten = minuten;
	}
	public void addUren(int uren){
		this.uren = uren;
	}
	public int getSeconden(){
		return this.seconden;
	}
	public int getMinuten(){
		int zonderUren = seconden % 3600;
		return zonderUren / 60;
	}
	public int getUren(){
		return uren = seconden / 3600;
	}
	public int getRestSeconden(){
		return restSeconden = seconden % 60;
	}
	public int getTotaalSeconden(){
		return totaalSeconden = seconden + minuten * 60 + uren * 60 * 60;
	}
}
En dit is de subklasse waarin de methoden van een int naar een double gezet moeten worden:

public class TijdsintervalMetKomma extends Tijdsinterval{
	public double seconden;
	public double totaalSeconden;
		 
	public TijdsintervalMetKomma() {
		super();
	}
	public void addSeconden(double seconden){
		this.seconden = seconden;
	}
	public double getSeconden(){
		return this.seconden;
	}
	public double getTotaalSeconden(){
		return totaalSeconden;
	}


}
Er wordt dus een foutmelding gegeven dat de typen niet overeenkomen(en ik mag niets in de superklasse veranderen)
Is er iemand die dit(waarschijnlijk weer heel simpel) probleempje kan oplossen??
Alvast heel erg bedankt voor de hulp!
 
Laatst bewerkt door een moderator:
override methoden

OK;

Maar er staat niets in over hoe je van een type int een double kunt maken.
Ik weet dat je t andersom met een cast voor elkaar kunt krijgen .
Heb je niet een suggestie voor me??
 
Ok, dan voer je eigenlijk gewoon een cast uit, dus forceren naar een int.
Blijft wel dat er dan nog steeds geen double uit get seconden komt.
Ik moet nl voor m'n opdracht een superclass gebruiken met een methode getSeconden die een int als type heeft.
In de subclass moet ik een getSeconden(override uit de superclass) hebben die een double teruggeeft van setSeconden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan