domingo, 20 de octubre de 2013

Programando en Java ... no. 6

Más ejemplos de programas en Java



1. Ejemplo de uso de clases Externas e Internas. Creamos un archivo llamado Persona.java

public class Persona{
  private String nombre;
  private int edad;
  private String apellidoPaterno;
  private String apellidoMaterno;

  public Persona(){}

  public Persona(String nombre,String apellidoPaterno,String apellidoMaterno,int edad){
    this.nombre=nombre;
    this.edad=edad;
    this.apellidoPaterno=apellidoPaterno;
    this.apellidoMaterno=apellidoMaterno;
  }

}

Definimos dos constructores, uno de ellos con parámetros. Ahora escribimos su getters y setters,  y el método toString() para mostrar los datos.

public class Persona{
  private String nombre;
  private int edad;
  private String apellidoPaterno;
  private String apellidoMaterno;

  public Persona(){}

  public Persona(String nombre,String apellidoPaterno,String apellidoMaterno,int edad){
    this.nombre=nombre;
    this.edad=edad;
    this.apellidoPaterno=apellidoPaterno;
    this.apellidoMaterno=apellidoMaterno;
  }

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

  public void setEdad(int edad){
    this.edad=edad;
  }

  public void setApellidoPaterno(String apellidoPaterno){
    this.apellidoPaterno=apellidoPaterno;
  }

  public void setApellidoMaterno(String apellidoMaterno){
    this.apellidoMaterno=apellidoMaterno;
  }

  public String getNombre(){
    return nombre;
  }

  public int getEdad(){
    return edad;
  }

  public String getApellidoPaterno(){
    return apellidoPaterno;
  }

  public String getApellidoMaterno(){
    return apellidoMaterno;
  }

  public String toString(){
    return "nombre: "+nombre+"\napellido paterno: "+apellidoPaterno+"\napellido materno: "+apellidoMaterno+"\nedad: "+edad;
  }

}//fin clase Persona

Una vez hecho esto dentro de la clase Persona vamos a crear una "clase interna" llamada Alumno:

//clase Interna
  class Alumno extends Persona{
    private String ID;

    public Alumno(){}

    public Alumno(String ID){
      this.ID=ID;
    }

    public Alumno(String nombre,String apellidoPaterno,String apellidoMaterno,int edad,String ID){
      super(nombre,apellidoPaterno,apellidoMaterno,edad);
      this.ID=ID;
    }

    public void setID(String ID){
      this.ID=ID;
    }

    public String getID(){
      return ID;
    }

    @Override
    public String toString(){
      return super.toString()+"\nid: "+ID;
    }

  }//fin clase Alumno

Finalmente creamos una clase llamada TestPersona.java:

public class  TestPersona{

   public static void main(String[] args){
     System.out.println(new Persona("Andrea","Calamaro","Nava",31));
//nos imprime sus datos

//para hacer uso de la clase interna  "Alumno" hacemos esto:

    Persona persona=new Persona();
    Persona.Alumno andrea=persona.new Alumno("Andrea","Calamaro","Nava",31,"12-D2209");
    System.out.println("id: "+andrea.getID());

    System.out.println("\n"+andrea.toString());
}

}
Código Completo: