Herencia y subclases

La herencia es una de las características mas importantes en la POO porque permite que una clase herede los atributos y métodos de otra clase (A excepción de los constructores, éstos no se heredan), ésta característica nos garantiza la reutilización del código.

 

Con la herencia todas las clases están clasificadas en una jerarquía. Cada clase tiene su superclase (También llamada clase padre o clase base) y cada clase puede tener una o más subclases (clases hijas o clases derivadas). En java cada clase sólo puede tener una superclase, lo que se denomina herencia simple.

 

Una clase derivada puede tener sus propios atributos y métodos adicionales a los heredados.

 

Una clase derivada puede modificar los atributos y métodos heredados.

 

 

Ejemplo 

 

La implementación de la herencia se hace mediante la palabra reservada extends.

 

Ejemplo:

 

public class Felino extends Animal{

 

 

}

La clase Object

La clase Object es la clase raíz de la jerarquía de clases en java perteneciente al paquete System.

 

En java todas las clases heredan de otra clase aún si no se específica con la palabra extends, en este caso extiende la clase Object, el compilador lo hace por nosotros y seria redundante escribir siempre extends Object.

 

La clase Object es la clase padre de todo sistema en Java, esto es, las clases Java siempre van a contar con atributos y métodos de la clase Object.

 

Algunos de esos métodos son:

 

public boolean equals(Object o);

Compara dos objetos y dice si son iguales.

 

public String toString();

Devuelve la representación visual de un objeto.

 

public Class getClass();

 

Devuelve la clase de la cual es instancia el objeto.

Uso de super

Super, es un método así como una palabra reservada de Java, sirve principalmente para:

 

1.Para llamar inmediatamente a un padre.

 

2.Puede ser usado como miembro de una instancia, puede llamar una variable o método de un padre.

 

 

3. Puede ser llamado en el constructor de una clase hija para llamar al constructor de una clase padre.