PDA

View Full Version : [java] ereditarietà problema da 1 minuto - has private access...come lo risolvo?


thefrog
17-07-2005, 19:14
allora, ho un esame tra 2 giorni, una volta l'ho già passato ma poi non avevamo pronto il progetto quindi...tutto da rifare....

è tantissimo che non uso java, quindi sono parecchio arrugginito, ho 2 classi, una padre, e una figlia che estende la classe superiore.

in pratica il problema è semplice, la classe figlia deve avere un metodo applicainteressi che versa gli interessi, calcolati sul saldo del conto Account1, sul conto ausiliario invece che sul conto stesso)

classe padre:
class Account
{
private double saldo;
private double tasso;
Account(double s, double t)
{
saldo=s;
tasso=t;
}
Account(Account altro)
{
saldo=altro.saldo;
tasso=altro.tasso;
}
public void incr(double x)
{
saldo=saldo+x;
}
public void decr(double x)
{
saldo=saldo-x;
}
public double calcolainteressi()
{
return saldo*tasso;
}
public void applicainteressi()
{
saldo = saldo + calcolainteressi();
}
}


e classe figlia:
class Account1 extends Account
{
private double tassa;
private Account ausiliario;
public Account1(double s, double t, double tax, Account aux)
{
super(s,t);
tassa = tax;
ausiliario = aux;
}
public Account1(Account1 altro)
{
super(altro);
tassa = altro.tassa;
ausiliario = new Account(altro.ausiliario);
}
public void applicainteressi()
{
//double aus = new Account1(altro.ausiliario);
ausiliario.saldo = ausiliario.saldo + calcolainteressi();
}
}


quando compilo la seconda mi da: saldo has private access in Account....come lo risolvo?
la prima classe è data dalla professoressa sicchè non la posso toccare

scusate se è una bischerata ma sto fondendo :(

grazie mille

Alvaro Vitali
17-07-2005, 19:27
Ma tu estendi Account e poi dichiari dentro la classe figlia un oggetto Account??? :eek:

Se mi spieghi cosa vuoi fare forse posso darti qualche dritta...

thefrog
17-07-2005, 19:34
Ma tu estendi Account e poi dichiari dentro la classe figlia un oggetto Account??? :eek:

Se mi spieghi cosa vuoi fare forse posso darti qualche dritta...

uhm :stordita:

non hai tutti i torti ma io avevo messo il disclaimer (sto fondendo :D )

a parte gli scherzi, quell'Account doveva essere un Account1
ora nonho modo di provare il codice ma ogni cosa che scrivete la provo domattina :)

grazie per la risposta veloce!

Alvaro Vitali
17-07-2005, 19:54
Io non so proprio cosa scriverti perchè non so cosa devi fare...
l'errore che ricevi è perchè tenti di accedere direttamente ad un attributo (saldo) che ha visibilità privata.