pessoal, nao to conseguindo compilar.
Se trata de um exercicio com uma classe abstrata Forma e duas concretas: FormaBidimensional e FormaTridimensional
O erro no compilador:
‘]’ expected
na linha: formas[0] = new FormaBidimensional(9.0);
Parece que o erro se encontra depois que crio um vetor Forma pra acessar as subclasses polimorficamente, no seguinte trecho de código:
[code]public class FormaTest
{
Forma[] formas = new Forma[2];
formas[0] = new FormaBidimensional(9.0);
formas[1] = new FormaTridimensional(4.0, 10.0);
[/code]
se não for o suficiente, aqui vão todas as classes:
[code]public abstract class Forma
{
private double area;
public abstract double obterArea();
public Forma(double area)
{
this.area = area;
}
public double getArea()
{
return area;
}
public void setArea(double area)
{
this.area = area;
}
}[/code]
[code]
public class FormaBidimensional extends Forma
{
public FormaBidimensional(double area)
{
super(area);
}
@Override
public double obterArea()
{
return super.getArea();
}
@Override
public String toString()
{
return "Forma Bidimensional.";
}
}[/code]
public class FormaTridimensional extends Forma
{
private double volume;
public FormaTridimensional(double area, double volume)
{
super(area);
this.volume = volume;
}
@Override
public double obterArea()
{
return super.getArea();
}
public double obterVolume()
{
return volume;
}
@Override
public String toString()
{
return "Forma Tridimensional.";
}
}
public class FormaTest
{
Forma[] formas = new Forma[2];
formas[0] = new FormaBidimensional(9.0);
formas[1] = new FormaTridimensional(4.0, 10.0);
for(Forma currentForma : formas)
{
System.out.println(currentForma);
System.out.printf( "Area: %.2f ",currentForma.obterArea() );
if(currentForma instanceof FormaTridimensional)
{
FormaTridimensional forma = (FormaTridimensional) currentForma;
System.out.printf( "Volume: %.2f ",forma.obterVolume() );
}
}
}