You are on page 1of 23

USO DE CONCEPTOS ORIENTADOS A

OBJETOS AVANZADOS

UNIDAD 12 – Pt. I

Instructor: Angonoa, Franco Néstor


VISIÓN GENERAL DE LA
HERENCIA
JERARQUÍA
DE CLASE
TRABAJAR CON
SUPERCLASES Y SUBCLASES
COMPORTAMIENTOS COMUNES

Muchos métodos comunes

Duplicación de código

Dificulta el mantenimiento y
la expansión posterior

Más posibilidad de errores


DUPLIC ACIÓN DE CÓDIGO

Duplicación
de código
HERENCIA

Utilizamos la herencia para eliminar la duplicación de código de las clases


HERENCIA

La herencia permite: SUPERCLASE

Colocar los miembros comunes


(campos y métodos) en una clase (la
superclase).

Otras clases (las subclases) hereden los


miembros comunes de esta nueva clase.

Un objeto instanciado de una subclase


se comporta como si los campos y
métodos de dicha subclase estuvieran
en el objeto. SUBCLASES
SUSTITUCIÓN DE MÉTODOS DE SUPERCLASE

Los métodos que existen en la superclase


NO estén implementados en la subclase
• El método declarado en la superclase se utiliza en
tiempo de ejecución.

Los métodos que existen en la superclase


ESTÉN implementados en la subclase
• El método declarado en la subclase se utiliza en
tiempo de ejecución.
SUPERCLASE CLOTHING: 1
SUPERCLASE CLOTHING: 1I
SUPERCLASE CLOTHING: III

AQUÍ FINALIZA LA CLASE


DECLARACIÓN DE UNA SUBCLASE

Sintaxis

[modificadores] class NombreClase extends SuperclaseNombre


DECLARACIÓN DE UNA SUBCLASE
(PALABRAS CLAVE: EXTENDS, SUPER Y THIS)
Se asegura de que Shirt
hereda los miembros de
Clothing.

super es una referencia a


los métodos y atributos de
this es una la superclase.
referencia a
este objeto.
DECLARACIÓN DE UNA SUBCLASE II

Ambos métodos sustituyen a los


que los correspondientes de la
superclase y son más específico
de la clase Shirt.
RELACIONES DE SUPERCLASES Y SUBCLASES

Es muy importante tener en cuenta el uso más adecuado de la herencia:

• Utilice la herencia sólo cuando sea completamente válida o inevitable.

• Compruebe si es adecuada con la frase “es un/una”:


➢La frase “una camisa es un tipo de ropa” expresa un enlace de herencia válido.
➢La frase “un sombrero es un calcetín” expresa un enlace de herencia no válido.
CLASES ABSTRACTAS

Hay ocasiones en la que no se quiere


crear objetos de la superclase.

Ejemplo: Objeto camisa,


pantalón, etc. Pero no quiero
un objeto ropa.

Además, de tener métodos que se


necesiten en cada subclase (que
tiene que estar en la superclase)
pero que no se desarrolle en la
superclase
ABSTRACCIÓN

Hace referencia a la creación de clases que son generales y que pueden


contener métodos sin una implementación concreta o sin un código de
cuerpo de método.

Las subclases que heredan de una clase abstracta debe implementar los
métodos vacíos definidos en la superclase con un código específico de
la subclase.
SUPERCLASE ABSTRACTA CLOTHING: 1

La palabra clave abstract


asegura que la clase no
se puede instanciar.
SUPERCLASE ABSTRACTA CLOTHING: II

La palabra clave
abstract asegura
que estos
valores se deben
sustituir en la
subclase

Esto obliga a que la subclase, por ejemplo, Shirt tenga esos


métodos. En caso contrario, genera error de compilación.
OTRO EJEMPLO DE HERENCIA
Más de dos niveles de jerarquía

SUPERCLASE
Se puede seguir
ampliando
¿PREGUNTAS?
BIBLIOGRAFÍA

• Material de la Fundación Proydesa. Unidad nro. 12.

You might also like