HERENCIA EN JAVA

La idea de la herencia es permitir la creación de  nuevas clases basadas en clases existentes.
Cuando heredamos de una clase existente, reusamos  (o heredamos) métodos y campos, y agregamos nuevos campos y métodos para cumplir con la situación nueva.
Cada vez que encontremos la relación "es-un" entre dos clases, estamos ante la presencia de herencia.

La clase ya existente es llamada superclass, o clase base, o clase padre.
La clase nueva es llamada subclase, clase derivada, o clase hija.

A través de la herencia podemos agregar nuevos campos, y podemos agregar o sobre montar métodos (override). Sobre montar un método es redefinirlo en la case heredada.


La herencia en java se hace mediante la palabra extends.

A continuacion les dejo un ejercicio que implementa herencia.  

CLASE PERSONA

public class Persona
{
    private String Cedula;
    private String Nombres;
    private int Edad;

    public Persona(String Cedula, String Nombres, int Edad) {
        this.Cedula = Cedula;
        this.Nombres = Nombres;
        this.Edad = Edad;
    }
   
    public void DatosInformativos()
    {
      System.out.println("Cedula Identidad: " + this.Cedula);
      System.out.println("Nombres: " + this.Nombres);
      System.out.println("Edad: " + this.Edad);
    }
   
}

CLASE ESTUDIANTE

public class Estudiante extends Persona
{
    private String Colegio;
    private String Semestre;
    private String Especialidad;

    public void setEspecialidad(String Especialidad) {
        this.Especialidad = Especialidad;
    }

    public Estudiante(String Colegio, String Semestre, String Cedula, String Nombres, int Edad) {
        super(Cedula, Nombres, Edad);
        this.Colegio = Colegio;
        this.Semestre = Semestre;
    }

    @Override
    public void DatosInformativos() {
        super.DatosInformativos();
        System.out.println("Colegio: " + this.Colegio);
        System.out.println("Semestre: " + this.Semestre);
        System.out.println("Especialidad: " + this.Especialidad);
    }  
}

CLASE EMPLEADO

public class Empleado extends Persona
{
   private String Cargo;
   private String Departamento;
  
    public Empleado(String Cargo, String Departamento,String Cedula, String Nombres, int Edad) {
        super(Cedula, Nombres, Edad);
        this.Cargo = Cargo;
        this.Departamento = Departamento;
    }

    @Override
    public void DatosInformativos() {
        super.DatosInformativos();
        System.out.println("Cargo: " + this.Cargo);
        System.out.println("Departamento: " + this.Departamento);
    }
   

    public String CalcularSueldo(int numHoras, double valorHora)
    {
      double sueldo = numHoras * valorHora;
      String cadSueldo = " Sueldo: " + String.valueOf(sueldo);
      return cadSueldo;
    }}

CLASE PRINCIPAL





public class Principal {

   
    public static void main(String[] args)
    {
        System.out.println("Creando Objeto Empleado....!");
        //String Cargo, String Departamento,long Cedula, String Nombres, int Edad
        Empleado Juan = new Empleado("Director", "Sistemas","12034576891","Mariuxi Lopez",35);
        Juan.DatosInformativos();
        System.out.println(Juan.CalcularSueldo(60,18));
       
        System.out.println("Creando Objeto Estudiante....!");
        //String Colegio, String Semestre, String Cedula, StriSng Nombres, int Edad
        Estudiante Pedro = new Estudiante("Monterrey","Octavo","1207895431","Carlos Torres", 15);
        Pedro.setEspecialidad("Telecomunicacion");
        Pedro.DatosInformativos();
    }
}

 

 

0 comentarios:

Publicar un comentario en la entrada