herencia parte 1

8
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.

Upload: kevin-osorio-miranda

Post on 12-Dec-2015

222 views

Category:

Documents


1 download

DESCRIPTION

JAVA

TRANSCRIPT

Page 1: Herencia Parte 1

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.

Page 2: Herencia Parte 1

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

Page 3: Herencia Parte 1

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

Page 4: Herencia Parte 1

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

Page 5: Herencia Parte 1

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

Page 6: Herencia Parte 1

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:

Page 7: Herencia Parte 1

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

Page 8: Herencia Parte 1

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