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