Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Herencia y Clases Derivadas en Java: Concepto, Ventajas, Implementación y Ejemplos - Prof., Apuntes de Informática

La herencia en java, una relación de generalización/especialización que permite a una clase (subclase o clase hija) heredar la estructura de otra (superclase o clase padre). La ventaja fundamental de la herencia es la reutilización/centralización de código, lo que evita la duplicidad y disminuye el volumen de código, facilitando el mantenimiento y permitiendo el polimorfismo. Este texto aborda conceptos básicos como clases derivadas, constructores, sobrescritura de métodos, métodos heredados vs sobrescritos, métodos static y final, polimorfismo, métodos y clases abstractas y restricciones de acceso. Además, se incluyen ejemplos y recursos adicionales.

Tipo: Apuntes

Antes del 2010

Subido el 21/10/2007

rayista
rayista 🇪🇸

4

(8)

9 documentos

1 / 14

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1
Herencia
TEMA 5
Manuel Pereira González
V1.3
Agenda
Introducción
Clases Derivadas
Implementación
Constructores
Sobreescritura de Métodos
Métodos Heredados vs Sobreescritos
Métodos static y final
Polimorfismo
Métodos y clases abstractas
Restricciones de Acceso
La Clase Object
Resumen
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Vista previa parcial del texto

¡Descarga Herencia y Clases Derivadas en Java: Concepto, Ventajas, Implementación y Ejemplos - Prof. y más Apuntes en PDF de Informática solo en Docsity!

Herencia

TEMA 5

Manuel Pereira González V1.

Agenda

ƒ Introducción ƒ Clases Derivadas ƒ Implementación ƒ Constructores ƒ Sobreescritura de Métodos ƒ Métodos Heredados vs Sobreescritos ƒ Métodos static y final ƒ Polimorfismo ƒ Métodos y clases abstractas ƒ Restricciones de Acceso ƒ La Clase Object ƒ Resumen

Introducción

ƒ 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 ƒ Subclase: Perro (subconjunto de animales) ƒ Ser vivo que nace, crece, se reproduce, muere, tiene cuatro patas, dos ojos, ladra, …

Introducción

ƒ Relación de Generalización / Especialización ƒ Jerarquía definida a través de la Herencia: ƒ Un CANICHE es un PERRO ƒ Una PERRO es un ANIMAL ƒ Un ANIMAL es un SER VIVO

SER VIVO

ANIMAL VEGETAL

ELEFANTE PERRO JIRAFA

CANICHE PEQUINÉS …

Clases Derivadas:

Implementación

ƒ En java para que una clase herede de otra se utiliza la palabra clave extends

Clases Derivadas:

Implementación

ƒ Una clase derivada hereda las variables y métodos de la clase padre, además de añadir sus variables y métodos propios

Clases Derivadas:

Constructores

ƒ Por defecto desde un constructor de una clase hija se llama al constructor sin argumentos de la clase padre

Clases Derivadas:

Constructores

ƒ Por defecto desde un constructor de una clase hija se llama al constructor sin argumentos de la clase padre ƒ Si se desea llamar a otro constructor de la clase padre se utiliza la palabra clave super ƒ Para mantener el encapsulamiento, una clase derivada debe inicializar sus variables específicas en el constructor, y dejar al constructor del padre inicializar las suyas.

Sobreescritura de métodos: Métodos

heredados vs Sobreescritos

ƒ Una clase hija puede sobreescribir un método de la clase padre para modificar su implementación

Sobreescritura de Métodos:

Métodos static y final

ƒ No se pueden sobreescribir los métodos de

clase (static).

ƒ Si se declara un método de tipo final, no

puede ser sobreescrito por clases derivadas

Sobreescritura de Métodos:

Polimorfismo

ƒ Polimorfismo ƒ Tratar objeto de una clase más general independientemente de que sea de una clase concreta ƒ Ej: Si tengo un perro, un elefante y una jirafa, puedo tratarlos a todos como animales ƒ Ej: Polígono -> Método para calcular el perímetro ƒ Círculo: 2 * PI * R ƒ Rectángulo: Base * Altura ƒ Triángulo: Base * Altura / 2 ƒ Lista de polígonos, cada uno sabe calcular su área pero se tratan de igual manera sin saber de qué tipo de polígono concreto se trata

Sobreescritura de Métodos:

Polimorfismo

Métodos y Clases

Abstractas

Agenda

ƒ Introducción ƒ Clases Derivadas ƒ Implementación ƒ Constructores ƒ Sobreescritura de Métodos ƒ Métodos Heredados vs Sobreescritos ƒ Métodos static y final ƒ Polimorfismo ƒ Métodos y clases abstractas ƒ Restricciones de Acceso ƒ La Clase Object ƒ Resumen

Restricciones de Acceso

ƒ Cuatro posibles visibilidades de atributos y métodos: public, private, protected y package (por defecto, no se pone nada).

Subclase en otro SI SI NO NO paquete

Subclase en SI SI SI NO paquete

Otro paquete SI NO NO NO

Mismo paquete SI SI SI NO

Propia clase SI SI SI SI

VISIBILIDAD public protected nada private

Restricciones de Acceso

Agenda

ƒ Introducción ƒ Clases Derivadas ƒ Implementación ƒ Constructores ƒ Sobreescritura de Métodos ƒ Métodos Heredados vs Sobreescritos ƒ Métodos static y final ƒ Polimorfismo ƒ Métodos y clases abstractas ƒ Restricciones de Acceso ƒ La Clase Object ƒ Resumen

Resumen

ƒ Introducción ƒ Superclases y Subclases ƒ Reutilización / Centralización de código ƒ Clases Derivadas ƒ Implementación (extends) ƒ Constructores ƒ Sobreescritura de Métodos ƒ Métodos Heredados vs Sobreescritos ƒ Métodos static y final ƒ No se pueden sobreescribir ƒ Polimorfismo

ƒ Métodos y clases abstractas ƒ Método abstract: Sin implementación por def ƒ Sólo métodos abstract en clases abstract ƒ Clases abstract no instanciables ƒ Restricciones de Acceso ƒ public, protected, nada y private ƒ La clase Object ƒ Método toString()

Resumen: Para más

información

ƒ http://pisuerga.inf.ubu.es/lsi/Invest

/Java/Tuto/II_6.htm

ƒ http://eees.ii.uam.es/alfonso/web_p

oo_04/teoria/material/subclases_e_i

nterfaces.pdf

ƒ http://www.ii.uam.es/%7Ecastells/d

ocencia/poo/4-jerarquias.pdf