Clases Figuras

package com.trifulcas.figuras;

public abstract class Figura {
	private String nombre;
	
	public abstract void dibujar();

	protected String getNombre() {
		return nombre;
	}

	protected void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	
}

package com.trifulcas.figuras;

public abstract class Figura2D extends Figura {
	public abstract double area();
}

package com.trifulcas.figuras;

public abstract class Figura3D extends Figura2D{

	public abstract double volumen();
}

package com.trifulcas.figuras;

public class Cuadrado extends Figura2D {
	private double lado;
	
	protected double getLado() {
		return lado;
	}
	protected void setLado(double lado) {
		this.lado = lado;
	}
	public Cuadrado(double lado) {
		this.lado=lado;
	}
	@Override
	public double area() {
		// TODO Auto-generated method stub
		return lado*lado;
	}

	@Override
	public void dibujar() {
		System.out.println("Cuadrado");

	}

}

package com.trifulcas.figuras;

public class Circulo extends Figura2D {
	private double radio;
	
	
	protected double getRadio() {
		return radio;
	}

	protected void setRadio(double radio) {
		this.radio = radio;
	}

	public Circulo(double radio) {
		
		this.radio = radio;
	}

	@Override
	public double area() {
		return Math.PI*radio*radio;
	}

	@Override
	public void dibujar() {
		System.out.println("Círculo");

	}

}

package com.trifulcas.figuras;

public class Cubo extends Figura3D {
	private double lado;

	protected double getLado() {
		return lado;
	}

	protected void setLado(double lado) {
		this.lado = lado;
	}

	public Cubo(double lado) {
		this.lado = lado;
	}

	@Override
	public double volumen() {
		return Math.pow(lado, 3);
	}

	@Override
	public double area() {
		// Se puede hacer más sencillo pero así también
		// Ojo que acoplamos cubo a cuadrado
		Cuadrado c=new Cuadrado(lado);
		return c.area() * 6;
	}

	@Override
	public void dibujar() {
		System.out.println("Cubo");
	}

}

package com.trifulcas.figuras;

public class Esfera extends Figura3D {
private double radio;
	
	
	protected double getRadio() {
		return radio;
	}

	protected void setRadio(double radio) {
		this.radio = radio;
	}

	public Esfera(double radio) {
		
		this.radio = radio;
	}

	@Override
	public double volumen() {
		return 4/3*Math.PI*Math.pow(radio, 3);
	}

	@Override
	public double area() {
		return 4*Math.PI*Math.pow(radio, 2);
	}

	@Override
	public void dibujar() {
		// TODO Auto-generated method stub

	}

}
Cuadrado c=new Cuadrado(2);
		System.out.println(c.area());
		
		Circulo ci=new Circulo(1);
		System.out.println(ci.area());
		
		Cubo cu=new Cubo(2);
		System.out.println(cu.area());
		System.out.println(cu.volumen());
		
		Esfera e=new Esfera(1);
		System.out.println(e.area());
		System.out.println(e.volumen());


 

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos