webForumDet fria alternativet

Detta funkar inte

Java

3 svar · 201 visningar · startad av roj

Medlem sedan apr. 2002179 inlägg
Frågan#1

public abstract class Konto
{
private static final double RANTA = 0.0125;
private static final double LAN_RANTA = 0.0225;
private String support = "Bankens supportavdelnings tel: 12 34 56";

public static void getRanta(Konto k)
{
	if(k instanceof SparKonto)
	{
		System.out.println("Aktuell sparränta är "+(RANTA\*100)+"%");
	}
	else
	{
		System.out.println("Aktuell låneränta är "+(LAN_RANTA\*100)+"%");
	}
}

public void getSupport()
{
	System.out.println(support);
}

protected void setInsatt(int i)
{
	System.out.println("KONTO;Din insättning är registrerad");
}

protected abstract boolean getUttag(int i);
protected abstract int getSaldo();

}

Får detta felet:

C:\Program\Xinox Software\JCreator Pro\MyProjects\Konto.java:9: cannot resolve symbol
symbol : class SparKonto
location: class Konto
if(k instanceof SparKonto)
^
1 error

Process completed.

Medlem sedan maj 20018 027 inlägg
#2

Anledningen till felet kanske är att du inte har skapat någon klass som "SparKonto" (framgår i vart fall inte av din problembeskrivning om du gjort det). Jag skulle rekommendera en annan lösning. Du låter en klass "SparKonto" ärva från "Konto". Sedan låter du de båda klasserna ha varsin implementation av "getRanta()" som är anpassad för respektive klass. Då behöver du inte skicka in "Konto" till den metoden och slipper testa vad det är för typ av konto. Är det sparkontots getRanta som anropas, då blir det rätt. Så som du har gjort nu, utnyttjar du inte fördelarna med objektorienterad programmering.

Medlem sedan apr. 2002179 inlägg
#3

Tackar

Medlem sedan juni 200010 432 inlägg
#4

... sen är det en fördel om man utnyttjar de kod-taggar som är inbyggt i webForum... det blir lite lättare att se kodens struktur då ;)

257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)