PDA

View Full Version : [JAVA] Domanda su invocazione di super()


Jim Fox
18-12-2008, 16:22
public class Prova
{
public static void main(String[] args)
{
B pippo = new B(10, 0.1);
pippo.add(10);
System.out.println(pippo);
}
}

public class A
{
protected int z ;
private double y;

A(int a, double b)
{
if (a > 0)
z = a;
else
z = 0;
if (b > 0.0 && b < 1.0)
y = b;
else
y = 0.0;
}

public boolean sub(int n)
{
if (z - n > 0)
{
z -= n;
return true;
}
else
return false;
}

public void add(int n)
{
z += n;
}

protected void setB(double a)
{
if (a > 0.0 && a < 1.0)
y = a;
}

public String toString()
{
double k = z + y;
return "" + k;
}
}

public class B extends A
{
B(int a, double b)
{
super(0, 0.0);
if (b > 0.0 && b < 0.5)
setB(b);
}

public void add(int n)
{
if (n > 0)
z += n;
}
}


Cosa fa precisamente l'invocazione del super nella classe B? Porta a zero il contenuto del costruttore A? O altro?
So che funziona come il this, ma il super si riferisce alla classe padre!

Il risultato cmq deve essere 10.1

!fazz
18-12-2008, 16:26
a parte che mancano le parentesi di chiusura , manca anche la domanda :D :D :D

Jim Fox
18-12-2008, 16:40
a parte che mancano le parentesi di chiusura , manca anche la domanda :D :D :D
No scusami, ma si era piantato il pc e si è inserito il post senza mio permesso :D

Ora è completo!!!

!fazz
18-12-2008, 17:01
No scusami, ma si era piantato il pc e si è inserito il post senza mio permesso :D

Ora è completo!!!

super nella classe B dovrebbe chiamare il costruttore di a

malocchio
23-12-2008, 21:19
So che funziona come il this, ma il super si riferisce alla classe padre!

E allora cos'è che non ti è chiaro? :confused: