SlideShare a Scribd company logo
1 of 11
POO - HERENCIA
HERENCIA
POO-3
J. Mancilla M.
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
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
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
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
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
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
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.
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
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
POO - HERENCIA
HERENCIA
POO-3
Fin Presentacion.
Automóvil
VehículoMotorizado
Camión
extends
super

More Related Content

What's hot

Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Métodos POO
Métodos POOMétodos POO
Métodos POO1da4
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesbasilioj
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesAlvaro Enrique Ruano
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosYarquiri Claudio
 
Jerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoJerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoEdwin Loayza
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)michell_quitian
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 

What's hot (20)

Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Métodos POO
Métodos POOMétodos POO
Métodos POO
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Jerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoJerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismo
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 

Similar to Poo 3 herencia

Similar to Poo 3 herencia (20)

Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
 
Herencia
HerenciaHerencia
Herencia
 
METODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptxMETODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptx
 
_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
 
Guía Herencia PO_O
Guía Herencia PO_OGuía Herencia PO_O
Guía Herencia PO_O
 
Herencia informatica
Herencia informaticaHerencia informatica
Herencia informatica
 
08 Herencia
08   Herencia08   Herencia
08 Herencia
 
Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agost
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
 
SuperClase.pdf
SuperClase.pdfSuperClase.pdf
SuperClase.pdf
 
Clases en java
Clases en javaClases en java
Clases en java
 
Conceptos basicos
Conceptos basicosConceptos basicos
Conceptos basicos
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios poo
 
JAVA 00 - TEMA 05 - HERENCIA
JAVA 00 - TEMA 05 - HERENCIAJAVA 00 - TEMA 05 - HERENCIA
JAVA 00 - TEMA 05 - HERENCIA
 
Herencia
Herencia Herencia
Herencia
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguez
 
JAVA- basico
JAVA- basicoJAVA- basico
JAVA- basico
 

More from jlmanmons

Poo1conceptobasicoconinstanciacion
Poo1conceptobasicoconinstanciacionPoo1conceptobasicoconinstanciacion
Poo1conceptobasicoconinstanciacionjlmanmons
 
Gestionconfiguracionsistemas act
Gestionconfiguracionsistemas actGestionconfiguracionsistemas act
Gestionconfiguracionsistemas actjlmanmons
 
Vb aspx transac
Vb aspx transacVb aspx transac
Vb aspx transacjlmanmons
 
Vb aspx sitio
Vb aspx sitioVb aspx sitio
Vb aspx sitiojlmanmons
 
Poo 4 arraylist_implem
Poo 4 arraylist_implemPoo 4 arraylist_implem
Poo 4 arraylist_implemjlmanmons
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylistjlmanmons
 
Poo 1 concepto_basico
Poo 1 concepto_basicoPoo 1 concepto_basico
Poo 1 concepto_basicojlmanmons
 
Gestion configuracionsistemas
Gestion configuracionsistemasGestion configuracionsistemas
Gestion configuracionsistemasjlmanmons
 
Crear esquema tablas_ora
Crear esquema tablas_oraCrear esquema tablas_ora
Crear esquema tablas_orajlmanmons
 
Crear cuenta ora
Crear cuenta oraCrear cuenta ora
Crear cuenta orajlmanmons
 
Poo 2 colab, presentación que muestra implementa colaboración entre clases
Poo 2 colab, presentación que muestra implementa colaboración entre clasesPoo 2 colab, presentación que muestra implementa colaboración entre clases
Poo 2 colab, presentación que muestra implementa colaboración entre clasesjlmanmons
 
Crear cuenta ora, presentación que describe pasos para creación de cuentas
Crear cuenta ora, presentación que describe pasos para creación de cuentasCrear cuenta ora, presentación que describe pasos para creación de cuentas
Crear cuenta ora, presentación que describe pasos para creación de cuentasjlmanmons
 
Crear esquema tablas_ora, presentacion para creacion de tablas oracle
Crear esquema tablas_ora, presentacion para creacion de tablas oracleCrear esquema tablas_ora, presentacion para creacion de tablas oracle
Crear esquema tablas_ora, presentacion para creacion de tablas oraclejlmanmons
 
Crear cuenta ora, presentacion que proporciona pasos para crear cuenta en ora...
Crear cuenta ora, presentacion que proporciona pasos para crear cuenta en ora...Crear cuenta ora, presentacion que proporciona pasos para crear cuenta en ora...
Crear cuenta ora, presentacion que proporciona pasos para crear cuenta en ora...jlmanmons
 
Vb aspx transac
Vb aspx transacVb aspx transac
Vb aspx transacjlmanmons
 
Vb aspx sitio
Vb aspx sitioVb aspx sitio
Vb aspx sitiojlmanmons
 
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...jlmanmons
 
Tutorial aspx
Tutorial aspxTutorial aspx
Tutorial aspxjlmanmons
 

More from jlmanmons (19)

Poo1conceptobasicoconinstanciacion
Poo1conceptobasicoconinstanciacionPoo1conceptobasicoconinstanciacion
Poo1conceptobasicoconinstanciacion
 
Gestionconfiguracionsistemas act
Gestionconfiguracionsistemas actGestionconfiguracionsistemas act
Gestionconfiguracionsistemas act
 
Vb aspx transac
Vb aspx transacVb aspx transac
Vb aspx transac
 
Vb aspx sitio
Vb aspx sitioVb aspx sitio
Vb aspx sitio
 
Poo 4 arraylist_implem
Poo 4 arraylist_implemPoo 4 arraylist_implem
Poo 4 arraylist_implem
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylist
 
Poo 2 colab
Poo 2 colabPoo 2 colab
Poo 2 colab
 
Poo 1 concepto_basico
Poo 1 concepto_basicoPoo 1 concepto_basico
Poo 1 concepto_basico
 
Gestion configuracionsistemas
Gestion configuracionsistemasGestion configuracionsistemas
Gestion configuracionsistemas
 
Crear esquema tablas_ora
Crear esquema tablas_oraCrear esquema tablas_ora
Crear esquema tablas_ora
 
Crear cuenta ora
Crear cuenta oraCrear cuenta ora
Crear cuenta ora
 
Poo 2 colab, presentación que muestra implementa colaboración entre clases
Poo 2 colab, presentación que muestra implementa colaboración entre clasesPoo 2 colab, presentación que muestra implementa colaboración entre clases
Poo 2 colab, presentación que muestra implementa colaboración entre clases
 
Crear cuenta ora, presentación que describe pasos para creación de cuentas
Crear cuenta ora, presentación que describe pasos para creación de cuentasCrear cuenta ora, presentación que describe pasos para creación de cuentas
Crear cuenta ora, presentación que describe pasos para creación de cuentas
 
Crear esquema tablas_ora, presentacion para creacion de tablas oracle
Crear esquema tablas_ora, presentacion para creacion de tablas oracleCrear esquema tablas_ora, presentacion para creacion de tablas oracle
Crear esquema tablas_ora, presentacion para creacion de tablas oracle
 
Crear cuenta ora, presentacion que proporciona pasos para crear cuenta en ora...
Crear cuenta ora, presentacion que proporciona pasos para crear cuenta en ora...Crear cuenta ora, presentacion que proporciona pasos para crear cuenta en ora...
Crear cuenta ora, presentacion que proporciona pasos para crear cuenta en ora...
 
Vb aspx transac
Vb aspx transacVb aspx transac
Vb aspx transac
 
Vb aspx sitio
Vb aspx sitioVb aspx sitio
Vb aspx sitio
 
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...
 
Tutorial aspx
Tutorial aspxTutorial aspx
Tutorial aspx
 

Poo 3 herencia

  • 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