Vous êtes sur la page 1sur 15

Herencia

Curso Java Bsico

Introduccin
Es una de las principales caractersticas de
la programacin orientada a objetos.
Una nueva clase es creada absorbiendo los
miembros de una clase existente.
Y puede mejorarlos con capacidades
nuevas.

Introduccin

Al crear una clase, en lugar de declarar


todos los miembros, podemos designar que
la nueva clase va a heredar todos los
miembros de una clase existente.

Superclases y subclases
La clase existente se llama superclase, y la
nueva clase se llama subclase.
Cada subclase se puede convertir en una
superclase para futuras subclases y formar
un completo rbol de herencia.

Especializacin
Una subclase puede aadir sus propios
campos y mtodos.
Una subclase es ms especfica que su
superclase y representa un grupo de
objetos ms especializados.

Superclase directa
La superclase directa es la superclase
inmediata de la cual la subclase hereda.
Una superclase indirecta es cualquier clase
arriba de la superclase directa en la
jerarqua de clases.

Ejemplo: Jerarqua de
clases

Palabra reservada extends

La palabra reservada extends sirve para


indicar que una clase hereda de otra.

class SubClase extends SuperClase {


//
}

Clase Object
En java, la jerarqua de clases inicia con la
clase Object (paquete java.lang).
Todas las clases en Java extienden (o
heredan de) esta clase directa o
indirectamente.

Herencia simple
Java soporta solo soporta herencia simple,
en la cual cada clase se deriva exactamente
de una superclase directa.
A diferencia de C++, Java no soporta
herencia mltiple (la cual ocurre cuando
una clase se deriva de ms de una
superclase directa).

Polimorfismo y herencia

Es posible tratar a los objetos de la


superclase y de la subclase de manera
similar, ya que tienen en comn los
miembros que se encuentran en la
superclase.

Polimorfismo y herencia

Los objetos de todas las clases que


extienden una superclase comn pueden
ser tratados como objetos de esa
superclase, porque tales objetos tienen una
relacin is-a con la superclase.

Sobrescritura
Una clase puede modificar los mtodos que
hereda de su superclase para adecuarlos
ms a sus necesidades.
Para hacer eso, la subclase sobrescribe
(overrides) el mtodo de la superclase con
la implementacin adecuada.

Palabra reservada super

Se utiliza para invocar la versin original de


un mtodo sobrescrito.

public class Superclase {


public void imprimir() {
System.out.println(Desde la
superclase");
}
}

Palabra reservada super


public class SubClase extends SuperClase {
public void imprimir() {
super.imprimir();
System.out.println("Desde la
subclase");
}
}

Vous aimerez peut-être aussi