>> <<

Lenguaje Java

Herencia

Para ilustrar el mecanismo de herencia en Java, vamos a suponer que disponemos de una clase Persona con un nombre y una edad como atributos (además de constructores y métodos) y de ella vamos a heredar para crear una clase Programador, que incorporará todos los elementos de su clase base (Persona) y añadirá como atributo propio el lenguaje en que programa.

Veamos todo esto en el ejemplo:


// Clase padre

public class Persona
{
    // Atributos protegidos (por si se quiere acceder a ellos desde la clase hija o subclase)
    protected String nombre;
    protected int edad;
    
    // Constructor
    public Persona(String nombre, int edad)
    {
        this.nombre = nombre;
        this.edad = edad;
    }
    
    // Método modificable en clases hijas
    public string mostrar()
    {
        return nombre + ", " + edad + " años";
    }
    
    // Otros métodos: getters, setters, etc.
}

// Clase hija

public class Programador extends Persona
{
    // Incorpora automáticamente todo lo de Persona, sólo define lo propio
    
    // Atributos específicos de Programador
    
    private String lenguaje;
    
    // Constructor basado en el de la clase padre
    
    public Programador(String nombre, int edad, String lenguaje)
    {
        super(nombre, edad);
        this.lenguaje = lenguaje;
    }
    
    // Redefinición de métodos de la clase padre
    
    @Override
    public string mostrar()
    {
        return super.mostrar() + "\nPrograma en " + lenguaje;
    }
}

Herencia simple y múltiple

En Java únicamente es posible definir herencia simple, es decir, que una clase sólo puede heredar de otra. Para "simular" la herencia múltiple se puede hacer uso de los interfaces. Consultar el apartado de Interfaces para más información.

(C) NachoIB, 2020 - contacto.lenguaj.es@gmail.com