Documente Academic
Documente Profesional
Documente Cultură
Herencia
V1.3
Agenda
Introduccin Clases Derivadas Implementacin Constructores Sobreescritura de Mtodos Mtodos Heredados vs Sobreescritos Mtodos static y final Polimorfismo Mtodos y clases abstractas Restricciones de Acceso La Clase Object Resumen
Introduccin
Herencia Una clase (subclase clase hija) hereda la estructura de otra (superclase o clase padre), y concretiza ciertos aspectos de sta. La clase hija comprende un subconjunto de los objetos de la clase padre. Ej:
Clase: Animal
Ser vivo que nace, crece, se reproduce y muere
Introduccin
Relacin de Generalizacin / Especializacin Jerarqua definida a travs de la Herencia:
Un CANICHE es un PERRO Una PERRO es un ANIMAL ELEFANTE Un ANIMAL es un SER VIVO SER VIVO
ANIMAL
VEGETAL
PERRO
JIRAFA
CANICHE
PEQUINS
Introduccin
Ventaja fundamental: Reutilizacin/Centralizacin de Cdigo. No es necesario volver a escribir los atributos y mtodos de la clase padre en la clase hija.
No duplicidad del cdigo Disminuye volumen de cdigo Facilita el mantenimiento Permite el polimorfismo: Tratar con objetos de una clase general sin saber la subclase concreta a la que pertenecen
Agenda
Introduccin Clases Derivadas Implementacin Constructores Sobreescritura de Mtodos Mtodos Heredados vs Sobreescritos Mtodos static y final Polimorfismo Mtodos y clases abstractas Restricciones de Acceso La Clase Object Resumen
Agenda
Introduccin Clases Derivadas Implementacin Constructores Sobreescritura de Mtodos Mtodos Heredados vs Sobreescritos Mtodos static y final Polimorfismo Mtodos y clases abstractas Restricciones de Acceso La Clase Object Resumen
Lista de polgonos, cada uno sabe calcular su rea pero se tratan de igual manera sin saber de qu tipo de polgono concreto se trata
Agenda
Introduccin Clases Derivadas Implementacin Constructores Sobreescritura de Mtodos Mtodos Heredados vs Sobreescritos Mtodos static y final Polimorfismo Mtodos y clases abstractas Restricciones de Acceso La Clase Object Resumen
Agenda
Introduccin Clases Derivadas Implementacin Constructores Sobreescritura de Mtodos Mtodos Heredados vs Sobreescritos Mtodos static y final Polimorfismo Mtodos y clases abstractas Restricciones de Acceso La Clase Object Resumen
10
Restricciones de Acceso
Cuatro posibles visibilidades de atributos y mtodos: public, private, protected y package (por defecto, no se pone nada).
VISIBILIDAD Propia clase Mismo paquete Otro paquete Subclase en paquete Subclase en otro paquete public SI SI SI SI SI protected nada SI SI NO SI SI SI SI NO SI NO private SI NO NO NO NO
Restricciones de Acceso
11
Agenda
Introduccin Clases Derivadas Implementacin Constructores Sobreescritura de Mtodos Mtodos Heredados vs Sobreescritos Mtodos static y final Polimorfismo Mtodos y clases abstractas Restricciones de Acceso La Clase Object Resumen
La Clase Object
En Java, todo objeto implcitamente hereda de la clase Object La clase Object tiene ciertos mtodos, que las subclases pueden sobreescribir
public String toString() public int hashCode() public boolean equals(Object obj) protected Object clone()
Todo objeto, por tanto, tiene una implementacin por defecto de estos mtodos
12
Agenda
Introduccin Clases Derivadas Implementacin Constructores Sobreescritura de Mtodos Mtodos Heredados vs Sobreescritos Mtodos static y final Polimorfismo Mtodos y clases abstractas Restricciones de Acceso La Clase Object Resumen
Resumen
Introduccin Superclases y Subclases Reutilizacin / Centralizacin de cdigo Clases Derivadas Implementacin (extends) Constructores Sobreescritura de Mtodos Mtodos Heredados vs Sobreescritos Mtodos static y final
No se pueden sobreescribir
Mtodos y clases abstractas Mtodo abstract: Sin implementacin por def Slo mtodos abstract en clases abstract Clases abstract no instanciables Restricciones de Acceso public, protected, nada y private La clase Object Mtodo toString()
Polimorfismo
13
14