HERENCIA

APLICACION DE LA HERENCIA
En orientación a objetos la herencia es el mecanismo fundamental para implementar la reutilización y extensibilidad del software. A través de ella los diseñadores pueden construir nuevas clases partiendo de una jerarquía de clases ya existente (comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.
Es la relación entre una clase general y otra clase más especifica. Por ejemplo: Si declaramos una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la clase texto, son automáticamente heredados por la subclase párrafo.
La herencia es uno de los mecanismos de la programación orientada a objetos, por medio del cual una clase se deriva de otra, llamada entonces clase base o clase padre,(a veces se le denomina superclase pero no es muy comun), de manera que extiende su funcionalidad. Una de sus funciones más importantes es la de proveer Polimorfismo y late binding.
El siguiente codigo es un ejemplo de herencia en java.
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();
}
}

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;
}}

No hay comentarios:

Publicar un comentario