poo 3 herencia

11
POO - HERENCIA HERENCIA POO-3 J. Mancilla M.

Upload: jlmanmons

Post on 25-Jun-2015

714 views

Category:

Documents


1 download

DESCRIPTION

Concepto de Herencia

TRANSCRIPT

Page 1: Poo 3 herencia

POO - HERENCIA

HERENCIAPOO-3

J. Mancilla M.

Page 2: Poo 3 herencia

POO - HERENCIA

Definición de Herencia• Mediante la herencia el programador puede crear una clase

general que defina los rasgos comunes de un conjunto de términos relacionados. Esa clase puede ser heredada por otras clases más específicas, cada una de las cuales agregará aquellos rasgos específicos que las hace únicas.

• La aplicación del concepto de Herencia permite especializar clases en base a una clase de nivel superior.

• En otras palabras, la clase heredera es una especialización de su super clase.

• Una clase se define a partir de la otra, agregando su propia funcionalidad.

• Permite simplificar las estructuras complejas de clases.

2

Page 3: Poo 3 herencia

POO - HERENCIA

Características• Algunas de las características de la herencia son:

• La idea básica es poder crear clases basadas en clases ya existentes.

• Cuando se hereda de una clase existente, se esta re-usando código (métodos y campos).

• Se Puede agregar métodos y variables para adaptar la clase a la nueva situación.

• Java también permite consultar por la estructura de una clase (cuáles son sus métodos y variables). Concepto de reflexión.

3

Page 4: Poo 3 herencia

POO - HERENCIA

Características• La herencia la identificamos cuando encontramos la relación es-un

entre la nueva clase y la ya existente. Por ejemplo: Un estudiante es una persona.

• La clase ya existente se le llama superclase,  clase base, o clase padre.

• A la nueva clase se le llama subclase, clase derivada, o clase hija.

4

Cuenta

CuentaAhorro CuentaCorriente

Super Clase

Derivada o hija

Page 5: Poo 3 herencia

POO - HERENCIA

Tipos de Herencia• Existen dos tipos:

1.Herencia Simple:

En este tipo de herencia una clase solo puede tener un padre, por lo que la estructura de clases será un árbol jerárquico.

Es fácil de entender y manejar tanto por el programador como por el lenguaje.

Es limitada puesto que en el mundo real un objeto puede pertenecer a varias clases y sin embargo aquí esta situación no se puede modelar.

Cuenta

CuentaAhorro CuentaCorriente

Page 6: Poo 3 herencia

POO - HERENCIA

Tipos de Herencia

2. Herencia Múltiple:

En este tipo de herencia una clase puede tener uno o varios padres, por lo que la estructura de clases es un grafo.

Es más realista y da al programador más libertad y mas posibilidades de reutilización de código.

Es mucho más difícil de utilizar por la posibilidad de ciclos y para los lenguajes de programación es muy costoso el permitirlo.

6

Auto

VoladorVehiculo

Av ion

Page 7: Poo 3 herencia

POO - HERENCIA

La Herencia en Java• Las características de la herencia en Java son:

- Solo implementa Herencia simple

- Es una estructura jerárquica en árbol en donde en la raíz podemos encontrar la clase Object, de las que heredan todas las clases. Todas las clases tienen un padre

- Todos los objetos son “Object”.

- Java no permite que una subclase elimine un método o una variable de instancia aunque esta no la necesite.

7

Page 8: Poo 3 herencia

POO - HERENCIA

La Herencia en JavaPara implementar herencia en java se utiliza la palabra reservada extends, la que se agrega al costado derecho del nombre de la clase en cáscara.

8

Para el diagrama: extends lo utilizara EmpleadoAsalariado y EmpleadoPorHoras y para almacenar datos en la estructura, estas ultimas clases deben considerar la palabra reservada super.

Page 9: Poo 3 herencia

POO - HERENCIA

Acceso a un miembro de una clase• Las subclases heredan los miembros de la super-clase declarados

como public o protected.

• Las subclases heredan los miembros de la super-clase declarados sin especificador de acceso siempre que la subclase pertenezca al mismo paquete que la super clase. Este tipo de especificador es de tipo package

• Las subclases NO heredan los miembros de la super clase si la subclase declara otros con el mismo nombre. Se dice que el atributo en la subclase oculta al de la super-clase. En caso de los métodos ocurre exactamente lo mismo. En este caso se dice que la subclase sobreescribe (overrides) el método en la super clase.

9

Page 10: Poo 3 herencia

POO - HERENCIA

Manejo de Constructores en la Herencia

• Debido a que una subclase hereda los atributos de la superclase, cuando construimos un objeto de la subclase debemos preocuparnos de entregar valores a los respectivos atributos heredados desde la superclase.

• En el proceso de construcción de un objeto de la subclase, se puede llamar al constructor de la clase desde donde se hereda, mediante la instrucción super.

10

Page 11: Poo 3 herencia

POO - HERENCIA

HERENCIAPOO-3

Fin Presentacion.

Automóvil

VehículoMotorizado

CamiónAutomóvil

VehículoMotorizado

Camión

extends

super