Está en la página 1de 4

//////////////////////////////////////////Herencia

Capacidad de crear clases que adquieran de manera automtica los miembros


(atributos y mtodos)
De otras clases que ya existen, pudiendo al mismo tiempo aadir atributos y
mtodos propios.

Ventajas
Reutilizacin de cdigo.
Mantenimiento de aplicaciones existentes.

Clase heredada es superclase


Clase hereda es subclase

Superclase/clase base

Subclase/clase derivada

Regla
No est permitida la herencia mltiple (una subclase no puede heredar ms de una
clase)

---Herencias multinivel
----Una clase puede ser heredada por varias clases.
-----Un coche es un vehculo
Sintaxis

Public class subclase extends superclase {


//cdigo de la subclase;
}

La nueva clase podra incluir atributos y mtodos propios para completar su funcin
Public class subclase extends superclase {
Private String color;
//resto de la clase;
}
CADA VEZ QUE SE CREA UN OBJETO EN UNA CLASE ANTES DE EJECUTARSE EL
CONSTRUCTOR DE DICHA CLASE SE EJECUTA PRIMERO EL DE SU SUPERCLASE.

EJECUTOR DE CONSTRUCTORES DE LA HERENCIA


El compilador de java aade como primera lnea de cdigo en todos los
constructores de una clase:
super();
sper(); manda a llamar al constructor de la superclase.

Sobre escritura de mtodos


Reescribir el mtodo.
Debe tener el mismo formato
Mismo parmetros y mismo tipo de devolucin
Para llamar desde el interior de la sublase a la versin original del mtodo de la
sper clase se utiliza.

Super.NombreDelMetodo(argumentos);
Clase.lang.Object (abuelo)
////////////////////////////////////////Clases Finales
Una clase final es aquella que no se puede derivar, es decir no puede poseer subclases, y est
definida por la palabra reservada final.

Public final class ClaseC{


}

////////////////////////////////////////////Clases abstractas
Es una clase en la que alguno de sus metodos esta declarado pero no esta definido,
es decir, se especifica su nombre , parametros y tipo de devolucion pero no incluye
codigo a este tipo de metodos se le conoce como mtodos abstractos.

Todos los mtodos abstractos lleva

La subclase ser la responsable de darle cuerpo al mtodo, mediante la sobre


escrtura
Los mtodos abstractos se sobre escriben cuando se hereda
Syntaxis
Public abstract tipo nombre_metodo(argumentos);

Ejemplo
public abstract class Figura{
Public abstract souble area();
}

Una clase abstracta puede tener mtodos no abstractos


No se pueden crear objetos de una clase abstracta
Las subclases de una clase abstracta estn obligadas a sobre escribir todos los
mtodos abstractos que heredan.

///////////////////////////////////POLIMOSFIRSMO
Usar la misma expresin para invocar a diferentes versiones de un mismo mtodo.

Ejemplo
Figura f;
f=new Triangulo();

puede utilizarse esta variable para invocar aquellos mtodos que estn declarados
en la superclase.

Figura f; //Figura es la clase abstracta


f=new Triangulo();
f.area();// metodo del area del triguangulo
f=new Circulo();
f.arrea();//mtodo del area del Circulo
f=new Rectangulo();
f.arrea();//mtodo del area del Rectangulo