viernes, 22 de marzo de 2013

ejemplo de herencia en programación orientada a objetos

esta seria la clase madre


package ejercicio3;

public abstract class figura {
//se declara clase  abstracta
    private  String nombre;
    private double area;
    public figura(){};
    public abstract double getArea();
    public abstract String getNombre();
    public abstract int getNumFiguras();   
   
}

esta es la clase circulo que es una hija de la clase figura 
y te preguntas pero como asi que una hija?
ósea que la clase circulo es una figura pero sus métodos tienen ya información.
Esto nos sirve para crear varias clases con los mismos nombres de métodos 
pero con diferentes procesos. OJO esto no es sobrecarga de métodos, es herencia
por eso los tienen los mismos métodos aunque cada figura puede tener diferentes atributos

public class Circulo extends figura{

    double r;
    public static int cantidadCirculos=0; //esto de static quiere decir que cada vez que crees una clase de este tipo esa variable siempre va a ser la misma para todas las clases.
    public Circulo()
    {
        cantidadCirculos+=1;
        this.r=2;
    }
    public Circulo(double radio)
    {
        this.r= radio;
        cantidadCirculos+=1;
    }
   
    public double getArea() {
        return Math.PI*r*r;
    }

   
    public String getNombre() {
        return"circulo";
    }
    public int getNumFiguras()
    {
        return cantidadCirculos;//este metodo me devuelve la cantidad de circulos del array(vector)
    }
   
    public String toString()
    {
        return "circulo de radio " + r;
    }

}
cree una clase vector para que me almacenara todo tipo de figuras 
public class Vector {

    figura[] figuras;// declaración de un vector en java
  public static double sumatoriaAreas=0;
   public Vector(int tamañoVector)
   {
       figuras= new figura[tamañoVector];
   }



No hay comentarios:

Publicar un comentario