Estou com uma dúvida no código abaixo, está dando erro no seguinte:
Crio um array de objetos do tipo Shape[] e depois preencho ele com objetos de outros tipos, um array de shapes com figuras como retangulo, circulo etc, ateh aih funcionava, mas agora coloquei uma interface CenteredShape e outra classe CenteredRectangle e não esta funcionando:
[code]
public abstract class Shape
{
public abstract double area();
public abstract double total();
}
public class Rectangle extends Shape
{
protected double w,h;
public Rectangle (double w, double h) // construtor
{
this.w=w; this.h=h;
}
public double getWidth() // acessador
{
return w;
}
public double getHeigth() // acessador
{
return h;
}
public double area () // implementa o abstrato
{
return (w*h);
}
public double total() // perimetro
{
return (2*(w+h));
}
}
public interface CenteredShape
{
public void setCenter (double x, double y);
public double getCenterX ();
public double getCenterY ();
}
public class CenteredRectangle extends Rectangle
implements CenteredShape
{
// atributos
private double cx, cy;
// metodos
// construtor
public CenteredRectangle (double cx, double cy, double w, double h)
{
super(w,h);
this.cx = cx; this.cy = cy;
}
// modificador
public void setCenter (double x, double y)
{
cx = x; cy = y;
}
// acessadores
public double getCenterX ()
{
return cx;
}
public double getCenterY ()
{
return cy;
}
}
public class PrincipalCentered
{
public static void main(String[] args)
{
Shape[] figura = new Shape[1]; // cria array
figura[0] = new CenteredRectangle(0.5, 1.5, 1.0, 3.0);
// Saida
System.out.println
("Centro Rectangle: "+figura[0].getCenterX()+
" e "+figura[0].getCenterY()); // erro aqui ! ! !
}
}
Valeu.
Rafael.[/code]