martes, 27 de octubre de 2015

HERENCIA

La herencia es uno de los cuatro pilares de la programación orientada a objetos que consiste en la creación de nuevas clases(clase hija o derivada) a partir de otras ya existentes(clase padre o superclase) y ésta tendrá todos los atributos y métodos de su "superclase". Por ejemplo un niño hereda los apellidos paternos de sus padres como también ciertas facetas físicas o del comportamiento de sus progenitores.


La herencia es una característica fundamental que distingue el lenguaje orientado a objetos. Existen dos tipos de herencia:


  • Herencia simple(sólo una superclase).
  • Herencia múltiple(más de dos superclases), ésta última no lo soporta java.
Ventajas:
  • Reutilización del código.
  • Ahorro de tiempo y dinero.
En UML se representa de la siguiente manera:


La codificación es la siguiente:

Clase padre: Persona, es una clase abstracta

package blogger;

package blogger;

public abstract class Persona {
    protected String nombre;
    protected String DNI;
    protected int edad;

    public Persona(String nombre, String DNI, int edad) {
        this.nombre = nombre;
        this.DNI = DNI;
        this.edad = edad;
    }
    
    public abstract void mostrar();
}

Clase hija: Estudiante

1 /**package blogger;

public class Estudiante extends Persona{
    
    protected String codigo;
    protected String facultad;

    public Estudiante(String nombre, String DNI, int edad, String codigo, String facultad) {
        super(nombre, DNI, edad);
        this.codigo=codigo;
        this.facultad=facultad;
    }

    public void mostrar(){
        System.out.println("Nombre: "+this.nombre);
        System.out.println("DNI: "+this.DNI);
        System.out.println("Edad: "+this.edad); 
        System.out.println("Código: "+this.codigo);
        System.out.println("Facultad: "+this.facultad);
    }
}

No hay comentarios:

Publicar un comentario