Está en la página 1de 11

Herencia 2: Override

Técnicas de Programación II
Felipe Fagua Barrera
8 - 2017
Herencia: Calentamiento

¿Quién hereda de quien?


¿Que se hereda?

A B
Herencia: Calentamiento

¿Qué es una superclase?


¿Qué es una subclase?
¿Una clase puede ser superclase y subclase?
¿Qué es herencia múltiple?
¿Cómo es la herencia múltiple en Java?
¿Para qué sirve la herencia?
¿Cómo se implementa la herencia en Java?
Herencia: Tipos de Visibilidad

• public (+)
• private (-)
• protected (#)
• Por defecto (default), no se
escribe nada
Herencia: Sobrescritura/¿Cómo funciona?

“Early binding”
• Cuando el método es compilado, el compilador asocia
metodo-clase.

• En las futuras llamadas se mantiene disponible el par.

• Se llama Early binding por que se hace la referencia en


tiempo de compilación.
Herencia: Sobrescritura/¿Cómo funciona?

Loop: “Dynamic lookup ”


Paso 1: El objeto invoca el método en la subclase.
Paso 2: El compilador busca el método en la subclase.
Paso 3: Si encuentra el método lo ejecuta.
Paso 4: Si no encuentra el método llama a la super
clase y repite desde el Paso 1
Herencia: Sobrescritura/¿Cómo funciona?

¿Qué clase ejecuta que método?”


• new Humano().alimentarse()

• new Profesor().respirar()

• new Tiburon().respirar()

• new Profesor().alimentarse()

• new SerVivo().alimentarse()

• new Animal().respirar()
Sobrescritura: Código Java / @Anotaciones

Ejemplos:
• @SuppressWarnings
Elimina las advertencias de compilación

• @Deprecated
Métodos que han sido reemplazados por otros
(optimizados, nuevos parámetros, etc.)

• @Override

Sobrescritura: Código Java / @Anotaciones

Anotación @Override

• Indica que un método anotado


reemplaza el método de la
superclase.

• Depende del compilador hacer


obligatorio su uso.

• ¿Qué pasa si un método nuevo


en la subclase es anotado?
Error
Sobrescritura: Código Java
¿Preguntas?

También podría gustarte