public abstract class FiguraGeometrica { protected float lado; public FiguraGeometrica() { lado=1.0f; } public FiguraGeometrica(float x) { lado=x; } public abstract float perimetro(); public abstract float area(); } class Cuadrado extends FiguraGeometrica { public Cuadrado() { super(); } public Cuadrado(float l) { super(l); } public float perimetro() { return lado*4.0f; } public float area() { return lado*lado; } } class Triangulo extends FiguraGeometrica { private float altura; public Triangulo() { super(); altura=1.0f; } public Triangulo(float l, float h) { super(l); altura=h; } public float perimetro() { return lado*3.0f; } public float area() { return (lado*altura)/2.0f; } } class Aplica { public static void main(String[] args) { //FiguraGeometrica fg = new FiguraGeometrica(); // No se pueden crear objetos de una clase abstracta Cuadrado c1 = new Cuadrado(3); System.out.println(c1.perimetro()); System.out.println(c1.area()); Triangulo t1 = new Triangulo(2,3); System.out.println(t1.perimetro()); System.out.println(t1.area()); } }