Poo 3 herencia
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Poo 3 herencia

  • 1,059 views
Uploaded on

Concepto de Herencia

Concepto de Herencia

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,059
On Slideshare
1,059
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
26
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. POO - HERENCIA HERENCIA POO-3 J. Mancilla M.
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. POO - HERENCIA La Herencia en Java Para 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.
  • 9. 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
  • 10. 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
  • 11. POO - HERENCIA HERENCIA POO-3 Fin Presentacion. Automóvil VehículoMotorizado Camión extends super