herencia parte 1
Post on 12-Dec-2015
225 Views
Preview:
DESCRIPTION
TRANSCRIPT
31/10/2014
1
Herencia Jerarquía de Clases
2
Competencias Específicas
Representa datos y sus estructuras básicas
de manera adecuada.
Identifica las estructuras básicas de
programación orientada a objetos y sus
aplicaciones básicas.
3
Propósito de la Sesión
Entender el concepto de Herencia.
Comprender como plantear Diagramas de
Jerarquía de Clases.
Aplicarlos en la solución de casos usando
POO.
31/10/2014
2
Agenda
Herencia.
Jerarquía de Clases.
Clase abstracta.
Asociaciones entre clases.
4
5
Herencia
La herencia es la propiedad que permite a las
clases ser construidas a partir de otras clases ya
definidas (derivar clases).
El objetivo principal es la reutilización, es decir
utilizar un código anteriormente desarrollado.
La clase de la cual se derivan otras clases es
conocida como clase base.
La herencia supone una clase base y una jerarquía
de clases que contienen las clases derivadas de la
clase base.
6
Herencia
Las clases derivadas heredan características de su clase base, pero pueden añadir otras características propias.
Las clases definidas a partir de una clase base también pueden servir de base para definir otras clases.
Por la herencia los atributos/métodos asociados con las clases hijas son siempre una extensión de las características de las clases padres. Una subclase reúne todas los atributos/métodos de la clase padre y si necesario otros más.
La herencia es siempre transitiva
31/10/2014
3
Herencia
Es la relación entre clases a través de la cual
se comparten los atributos y/u operaciones
de cada una.
A través de la herencia una clase asume el
comportamiento (atributos y operaciones) de
otra como parte de su propio
comportamiento.
Producto de la herencia se derivan dos tipos
de clases. Superclase.
Subclase. 7
Herencia
Superclase. Es la clase que contiene el comportamiento a ser heredado por otras clases.
Es la clase más alta en una herencia.
Ocupa el nivel superior en la jerarquía establecida por la herencia.
Subclase. Es la clase que necesita heredar o incorporar el comportamiento de la superclase.
Es la clase más baja en una herencia.
Ocupa el nivel inferior en la jerarquía establecida por la herencia.
8
9
Ejemplo
Clase Persona
Clase Estudiante
Clase Trabajador
• Clase Jefe
31/10/2014
4
Herencia
Persona
nombre
apellido materno
apellido paterno
sexo
edad
comer()
beber()
dormir()
Trabajador cargo
salario
ausencias
trabajar()
registrarEntrada()
cobrar()
Jefe
rango
beneficios
presupuesto
dirige()
evalua()
contrata()
despide()
Estudiante grado
colegio
matricular()
estudiar()
Subclase
Superclase
10
Jerarquía de Clases
Según el Dictionary of OT la jerarquía es
“cualquier clasificación u ordenación de
abstracciones en una estructura de árbol.
Algunos tipos de Jerarquía son: de
agregación, de clases, de herencia, de
partición, de especialización, de tipo.
Éste concepto es sumamente importante ya
que con ello conocemos la importancia de
dividir los problemas en una jerarquía de
ideas.
11
Jerarquía de Clases
Los dos tipos importantes de jerarquía son:
la de generalización/especialización y la de
todo/parte.
La jerarquía de generalización/especialización
se basa en que las propiedades de una
categoría general se transmiten a todas las
categorías que se especializan o subcategorías.
12
31/10/2014
5
Jerarquía de Clases
En la OO, la jerarquía de clases significa un
conjunto de clases relacionadas por la
jerarquía de generalización/especialización.
A continuación se muestra un ejemplo en el
que se describen tres figuras las cuales
poseen diferentes niveles de jerarquía:
13
14
Jerarquía de Clases
Consideremos las figuras planas cerradas
como el rectángulo, y el círculo.
Tales figuras comparten características
comunes como es la posición de la figura, de
su centro, y el área de la figura, aunque el
procedimiento para calcular dicha área sea
completamente distinto dependiendo del
nivel de las clases.
15
Jerarquía de Clases: superclase y subclase
La clase “Padre” o Superclase se llama de
ese modo debido a que de la misma se
desprenden otras clases llamadas
“Subclases” las cuales heredarán sus
atributos y operaciones, una Superclase
puede contener cualquier número de
Subclases.
La Clase Circulo es una de las Subclases de
la Superclase Figura, ésta a su vez puede
convertirse en una Superclase si de ella se
desprenden otras clases. La misma posee su
nivel de importancia y a su vez hereda los
métodos y atributos de la superclase.
FIGURA
CIRCULO
31/10/2014
6
16
Jerarquía de clases
Característica B Característica A
Característica A
Característica B
Característica X
Característica Z
Característica A
Característica B
Característica Y
Característica A
Característica B
Característica W
17
Jerarquía de Clases
Tengo más información de Flo, no por ser florista sino por ser comerciante.
Probablemente pedirá un dinero para procesar mi mensaje y me dará un recibo. Esto es válido para libreros, tenderos y otros comerciantes.
Florista es una forma especializada de Comerciante, por tanto cualquier conocimiento sobre comerciantes será válido para floristas y por tanto (por herencia) para Flo.
18
Jerarquía de Clases
Flo
Florista
Comerciante
Humano
Animal
Budd T. Programación Orientada a Objetos.1994
El conocimiento de Flo se ha organizado en términos de la jerarquía:
31/10/2014
7
19
Jerarquía de Clases
Mostraremos una jerarquía de clases. En donde:
Las clases abstractas están colocadas en la parte superior
del árbol.
Las clases concretas y los objetos están en la parte
inferior del árbol.
Una subclase heredará atributos/métodos de una
superclase.
Es posible redefinir algún método de la superclase (Pepe
no cumple la regla general de los mamíferos). Es decir, en
la subclase se puede anular información de la superclase.
20
Jerarquía de Clases
Rafo Flo Ken Pepe Flores para
la Abuela
Florista
Comerciante Doctor
Perro Humano Ornitorrinco
Mamífero
Animal Planta
Flor
Objeto Material
Budd T. Programación Orientada a Objetos.1994
Jerarquía de Clases: ejemplo
Vehículo
marca
modelo
color
número de serie
mover()
abrir()
girar()
detener()
Terrestre numeroLlantas
Aereo longitudAlas
despegar()
aterrizar()
Maritimo profundidadMinima
eslora
anclar() 21
31/10/2014
8
22
Preguntas
23
Ejercicio
Formar grupos de 3 o 4 estudiantes.
Plantear un diagrama de jerarquía de clases
(no incluir clases relacionadas a personas:
empleado, vendedor, cajera, etc.) para los
siguientes casos: Supermercado
Discotienda
Biblioteca
top related