La Herencia: Teoría (1)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "La Herencia: Teoría (1)"

Transcripción

1 Introducción a la Herencia Presentación basada en: 1. Construcción de Software Orientado a Objetos. Bertrand Meyer Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, Apuntes del Curso Programación Orientado a Objetos. Pablo Castells. Escuela Politécnica Superior, Universidad Autonoma de Madrid. 4. Apuntes del Curso de java. Luis Hernández y Carlos Cervigón. Facultad de Informática. Universidad Católica de Madrid. La Herencia: Teoría (1) Mecanismo exclusivo y fundamental de la POO. La herencia no está contemplada en la programación basada en tipos (TAD). Es el principal mecanismo que ayuda a fomentar y facilitar la reutilización del software: Las clases como componentes de software reutilizables. Si se necesita una nueva clase de objetos y se detectan suficientes similitudes con otra clase ya desarrollada, se toma esa clase existente como punto de partida para desarrollar la nueva: Se adoptan automáticamente características ya implementadas Ahorro de tiempo y esfuerzo Se adoptan automáticamente características ya probadas Menor tiempo de prueba y depuración 1

2 La Herencia: Teoría (2) Conceptos claves de la herencia: Suficientes similitudes: Todas las características de la clase existente (o la gran mayoría de ellas) resultan adecuadas para la nueva. En la nueva clase se ampliará y/o redefinirá el conjunto de características. Características de las clases que se adoptan: Todos los miembros definidos en las clases (Atributos y Métodos) Dependiendo de la forma en que se aplique el mecanismo de herencia, en la nueva clase se puede tener o no acceso a ciertas características heredadas (a pesar de que se adopten todas). La Herencia: Teoría (3) La relación de herencia se establece entre una clase nueva y una clase ya existente. Términos generales: Sinónimos de la clase existente: Clase base, clase madre, superclase (término genérico de la POO). Sinónimos de la clase nueva: Clase derivada, clase hija, subclase (término genérico de la POO). También se utiliza el término derivación para referirse a la herencia. La clase nueva es la que tiene establecida la relación de herencia con la clase existente. La clase existente no necesita a la nueva, pero la nueva sí necesita la presencia de la existente. 2

3 La Herencia: Teoría (4) La relación de herencia se establece entre una clase nueva y una clase existente. Sobre la clase que hereda de la existente: La nueva hereda todas las características de la existente. La nueva puede definir características adicionales. La nueva puede redefinir características heredadas de la existente. El proceso de herencia no afecta de ninguna forma a la superclase existente. Subclases en java(1) Para que una nueva clase sea subclase de otra existente basta con añadir: extends ClaseExistente a continuación del nombre de la nueva: public class ClaseNueva extends ClaseExistente {... } ClaseExistente ClaseNueva 3

4 Subclases en java(2) Clase Existente Nota: Los empleados son personas Clase Nueva Nota: Los directivos son personas y son empleados NOTA: Por el hecho de indicar que Empleado es subclase de Persona, los objetos de la clase Empleado ya tienen automáticamente 2 atributos y un método, los heredados de la clase Persona. Conversión de tipos (1) Sea: Persona p1, p2; Empleado q, e= new Empleado (); Directivo r, d = new Directivo (); Conversiones implícitas (generalización) p1 = e; Empleado a Persona p2 = d; Directivo a Persona q = d; Directivo a Empleado Conversiones explícitas (especialización) r = p2; Error de compilación r = (Directivo) p2; Persona a Directivo r = (Directivo) p1; Error de ejecución: p1 no es un Directivo Un Directivo puede hacer automáticamente el papel de Empleado y de Persona Una Persona puede hacer el papel de Directivo si realmente es un Directivo 4

5 Conversión de tipos (2) Sea: class X { void y (Empleado p) {... } void z (Directivo p) {... } } Directivo d = new Directivo (); Empleado p = dir, e = new Empleado (); X x = new X (); Conversión implícita x.y (d); Directivo a Empleado Conversión explícita x.z (p); Error de compilación x.z ((Directivo) p); Empleado a Directivo x.z ((Directivo) e); Error de ejecución: e no es un Directivo Herencia: el Polimorfismo Polimorfismo significa la capacidad de adoptar varias formas. En la POO lo que puede tomar varias formas es: Una entidad variable Ejemplo p: Poligono; r: Rectángulo; t:triangulo Asignaciones básicas: p:=r P:=t Reconexión de la referencia polimorfa Definición: Compatibilidad de tipos A un identificador de una clase sólo se le pueden asignar objetos de esa clase o de cualquiera de sus subclases 5

6 Redefinición de variables y métodos (1) En una subclase se redefine las variables y los métodos de una clase padre La definición de la subclase ensombrece a la de la clase padre La definición de la clase padre accesible desde la subclase con super La redefinición de variables Se reserva un espacio de memoria para cada definición El tipo no tiene por qué coincidir Ligadura estática Se prefiere evitar la redefinición de variables Polimorfismo y la redefinición de variables y métodos (2) Ejemplo de la redefinición de variables 6

7 Polimorfismo y la redefinición de variables y métodos (3) Ejemplo de la redefinición de métodos Lecturas Subclases e Interfaces. Capitulo 10 Libro: Java 2, curso de programación Paginas 329 a la

Tema 3 Herencia en Java Parte 1. Programación Orientada a Objetos Curso 2015/2016

Tema 3 Herencia en Java Parte 1. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 1 Programación Orientada a Objetos Contenido Introducción. Definición y tipos. Constructores. Redefinición. Polimorfismo. Herencia y sistema de tipos. Ligadura dinámica. Casting

Más detalles

Introducción a OOP. Programación Orientada a Objeto

Introducción a OOP. Programación Orientada a Objeto Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada

Más detalles

Los Constructores(1)

Los Constructores(1) Java: Definición de Clases y Objetos Presentación basada en: 1. Como Programar en Java. Deitel y Deitel. Ed. Prentice-Hall. 1988 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA,

Más detalles

Herencia. Implementación en Java

Herencia. Implementación en Java Herencia Implementación en Java Herencia Concepto de Herencia Es el mecanismo que permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente

Más detalles

TEMA 5. Agenda. Herencia

TEMA 5. Agenda. Herencia TEMA 5 Herencia V1.3 Manuel Pereira González Agenda Implementación Métodos Heredados vs Sobreescritos La Clase Object Resumen 1 Introducción Herencia Una clase (subclase ó clase hija) hereda la estructura

Más detalles

Tema 5. Herencia. Departamento de Lenguajes y Sistemas Informáticos Universidad de Granada

Tema 5. Herencia. Departamento de Lenguajes y Sistemas Informáticos Universidad de Granada Tema 5 Herencia Departamento de Lenguajes y Sistemas Informáticos Universidad de Granada Qué es la Herencia? Propiedad de que las instancias de una clase hija tengan acceso a la estructura de datos* y

Más detalles

Programación orientada a objetos. Introducción

Programación orientada a objetos. Introducción Programación orientada a objetos Clases: Polimorfismo Introducción El polimorfismo, en general, es la característica de un lenguaje orientado a objetos que permite que un mismo identificador de método

Más detalles

Herencia y Clases Abstractas

Herencia y Clases Abstractas Herencia y Clases Abstractas Reutilización de código y código genérico ELO329: Diseño y Programación Orientados a Objetos Introducción La idea básica es poder crear clases basadas en clases ya existentes.

Más detalles

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona

Más detalles

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Más detalles

Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos

Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos 1 Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente,

Más detalles

Unidad 2. Elementos Intermedios del Lenguaje

Unidad 2. Elementos Intermedios del Lenguaje Unidad 2 Elementos Intermedios del Lenguaje Paradigmas de Programación Un paradigma de programación se refiere a la forma en que se entiende, diseña y desarrolla una aplicación Imperativo Declarativo Funcional

Más detalles

Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos

Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos 1 Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente,

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM. Programación en Java Diciembre 2010 Índice 1 Introducción 2 Comportamiento y estado 3 POO en Java 4 Relaciones 5 Herencia

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VIII Composición... 4 Herencia... 8 Herencia e Inicialización... 11 Constructor de Superclase...

Más detalles

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez 6 Herencia y Polimorfismo La Herencia y el Polimorfismo son dos de los principales mecanismos de programación que caracterizan a la programación orientada a objetos. La herencia sustenta su mecanismo en

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión IX Composición... 4 Herencia... 8 Herencia e Inicialización... 12 Constructor de Superclase...

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos PROGRAMACIÓN ORIENTADA A OBJETOS 1 Sesión No. 4 Nombre: Herencia Contextualización Cuando hablamos de informática podemos contemplar varios elementos que se utilizan dentro

Más detalles

Destrucción de objetos (I)

Destrucción de objetos (I) Clases y Objetos (3) Presentación basada en: 1. Como Programar en Java. Deitel y Deitel. Ed. Prentice-Hall. 1988 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003. 3. Apuntes

Más detalles

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III HERENCIA Se entiende por herencia el proceso por el que un objeto puede tomar características de otro objeto. La herencia Se puede usar de dos formas: 1. Cuando una clase escrita no llega a cubrir las

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN

INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN ANEXO 2 El paradigma orientado a objetos INTRODUCCIÓN 1) Programación orientada a objetos (P.O.O.) Un proyecto de software es complejo. Las GUI 1, acceso transparente a datos

Más detalles

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Herencia! Superclase/subclase! super! Modificador protected! Redefinicion de métodos!

Más detalles

Taller de Programación I. Tema 10: Herencia en Java

Taller de Programación I. Tema 10: Herencia en Java INACAP Universidad Tecnológica de Chile Sede Santiago Centro Taller de Programación I Curso Java J2SE Tema 10: Herencia en Java Ing. Manuel López Ramos (versión 1) Parte I Qué es la herencia entre clases?

Más detalles

Programación Orientada a Objetos. Conceptos Básicos

Programación Orientada a Objetos. Conceptos Básicos Programación Orientada a Objetos Conceptos Básicos Programación Orientada a Objetos Paradigma de programación Un programa orientado a objetos está organizado como un conjunto de agentes en interacción

Más detalles

Objetivos. Objetivos. Herencia. Objetivos. agregar funcionalidad a una clase existente, sin compilar su nueva definición.

Objetivos. Objetivos. Herencia. Objetivos. agregar funcionalidad a una clase existente, sin compilar su nueva definición. (a) objetivos (b) terminología (c) polimorfismo (d) tipeo y herencia (e) vinculación dinámica de código (f) clases abstractas (g) soporte en JAVA (h) significado de la herencia (i) herencia y aserciones

Más detalles

Tema 3 Herencia. Primera parte. Herencia en Java Programación Orientada a Objetos Curso 2010/2011

Tema 3 Herencia. Primera parte. Herencia en Java Programación Orientada a Objetos Curso 2010/2011 Tema 3 Herencia Primera parte. Herencia en Java Programación Orientada a Objetos Contenido Introducción. Definición y tipos. Constructores. Redefinición. Restringir la herencia. Visibilidad protegida.

Más detalles

Guía práctica de estudio 08: Polimorfismo

Guía práctica de estudio 08: Polimorfismo Guía práctica de estudio 08: Polimorfismo Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 08: Polimorfismo

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos INSTITUTO MATEMÁTICO Y ACTUARIAL MEXICANO LICENCIATURA EN ACTUARÍA PROGRAMACIÓN Introducción a la Programación Orientada a Objetos Gerardo Avilés Rosas gaviles@imam.com.mx Programar Una tarea fácil? 2

Más detalles

Herencia. Proceso mediante el cual una clase adquiere las propiedades (atributos) y comportamiento (métodos) de otra.

Herencia. Proceso mediante el cual una clase adquiere las propiedades (atributos) y comportamiento (métodos) de otra. Programación Orientada a Objetos Herencia Ing. Julio Ernesto Carreño Vargas MsC. Herencia Proceso mediante el cual una clase adquiere las propiedades (atributos) y comportamiento (métodos) de otra. Programación

Más detalles

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz 168 A. García-Beltrán y J.M. Arranz 16. Herencia Objetivos: a) Definir el concepto de herencia entre clases b) Interpretar el código fuente de una aplicación Java donde aparecen clases relacionadas mediante

Más detalles

Aplicaciones de Escritorio

Aplicaciones de Escritorio Aplicaciones de Escritorio Introducción n a la Programación Orientada a Objetos con Java Disertantes: Ing. Rasjido, Jose. AdeS Montenegro, Cristian. Agenda Clases y Paquetes. Clases y Paquetes. Modificadores

Más detalles

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador HERENCIA Y TIPOS. Las clases con propiedades y funciones comunes se agrupan en una superclase. Las clases que se derivan de una superclase son las subclases. Las clases se organizan como jerarquía de clases.

Más detalles

CLASE 9 -HERENCIA Y POLIMORFISMO

CLASE 9 -HERENCIA Y POLIMORFISMO CLASE 9 -HERENCIA Y POLIMORFISMO INTRODUCCIÓN Diferentes tipos de objetos con características y comportamiento comunes. lado1 lado2 lado3 color de línea color de relleno punto Triángulo Círculo radio color

Más detalles

Fundamentos de Programación

Fundamentos de Programación Fundamentos de Programación Extensión de clases: herencia y polimorfismo 13.12.2010 José A. Mañas Dpto. de Ingeniería de Sistemas Telemá@cos hcp://www.lab.dit.upm.es/~fprg/ extensión

Más detalles

Clases y herencia. FJP Unidad 8. Diseño de clases

Clases y herencia. FJP Unidad 8. Diseño de clases Clases y herencia FJP Unidad 8 Encapsulamiento Diseño de clases El encapsulamiento provee protección de atributos y métodos definidos en una clase de forma tal que comportamiento de objetos de una clase

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra l.guerra@upm.es Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia

Más detalles

Definición. Mónica E. García García Feb 07

Definición. Mónica E. García García Feb 07 Tema 11: Herencia 0 Definición Cuando inicialmente se modelan dos cosas y se tienen datos duplicados y además pudiera darse que el número de métodos también es similar así como la implementación, se requiere

Más detalles

POO PROGRAMACIÓN ORIENTADA A OBJETOS

POO PROGRAMACIÓN ORIENTADA A OBJETOS POO PROGRAMACIÓN ORIENTADA A OBJETOS 1 Programación estructurada, consiste en descomponer el problema objeto de resolución en subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles

Más detalles

Edwin Andrés Cubillos Vega

Edwin Andrés Cubillos Vega PROGRAMACION ORIENTADA A OBJETOS Edwin Andrés Cubillos Vega Company LOGO Contenido Introducción Clases y Objetos Herencia Constructores y Destructores Polimorfismo Contenido Introducción Clases y Objetos

Más detalles

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA Analista Programador Universitario Universidad Nacional de Jujuy JTP Jorge R. Mendoza Implementación de propiedades de los objetos Java Contenido

Más detalles

Introducción al Paradigma Orientado a Objetos

Introducción al Paradigma Orientado a Objetos Introducción al Paradigma Orientado a Objetos 1 Objetos Qué es un objeto? Un objeto es un componente de software que contiene variables y métodos y que es usado para modelar algún aspecto de la vida real.

Más detalles

Tema 1. Lección 2. Conceptos Básicos de los Lenguajes Dirigidos a Objetos. Departamento de Lenguajes y Sistemas informáticos Universidad de Granada

Tema 1. Lección 2. Conceptos Básicos de los Lenguajes Dirigidos a Objetos. Departamento de Lenguajes y Sistemas informáticos Universidad de Granada Tema 1 Lección 2 Conceptos Básicos de los Lenguajes Dirigidos a Objetos Departamento de Lenguajes y Sistemas informáticos Universidad de Granada Tiempo de Enlace Momento en el que se determina el significado

Más detalles

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente. HERENCIA (2ª parte) Lenguajes de Programación - Orientación a Objetos: Herencia 2ª parte 1 Object En Java todas las clases derivan de otra, aunque no se diga explícitamente. Object: Es el nombre de la

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

Más detalles

HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS

HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2009/2010 Nombre:... Fecha: / 11 / 2009 HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS Esta hoja de ejercicios

Más detalles

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005 24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos

Más detalles

Tema 1. Introducción a la Programación Orientada a Objetos

Tema 1. Introducción a la Programación Orientada a Objetos Tema 1. Introducción a la Programación Orientada a Objetos Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Informática. Universidad de Málaga Programación Orientada a Objetos Dpto. Lenguajes y Ciencias

Más detalles

TEMA 6: Lenguajes orientados a objetos. Fundamentos teóricos.

TEMA 6: Lenguajes orientados a objetos. Fundamentos teóricos. 15/03/2011 TEMA 6: Lenguajes orientados a objetos. Fundamentos teóricos. Índice 1 INTRODUCCIÓN 1 1.1 Historia de los lenguajes orientados a objetos 2 1.2 Desarrollo de Software orientado a objetos 2 2

Más detalles

Lenguajes de Programación I

Lenguajes de Programación I Lenguajes de Programación I Orientación a Objetos Ernesto Hernández-Novich Copyright c 2006-2010 Módulos como abstracción de datos Los módulos conducen a un estilo de programación en el cual

Más detalles

Tema 1. Herencia y Polimorfismo

Tema 1. Herencia y Polimorfismo ÍNDICE EDA. Unidad didáctica I: Conceptos de Java para Estructuras de Datos Tema 1. Herencia y Polimorfismo 1. Relaciones entre clases: Reutilización del software. 2. La Herencia como soporte Java del

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Herencia PRÁCTICA NÚM. [ 4 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje de Programación

Más detalles

Programación Orientada por Objetos. Prof. Yudith Cardinale Universidad Simón Bolívar Dpto de Computación y Tecnología de la Información

Programación Orientada por Objetos. Prof. Yudith Cardinale Universidad Simón Bolívar Dpto de Computación y Tecnología de la Información Programación Orientada por Objetos Prof. Yudith Cardinale Universidad Simón Bolívar Dpto de Computación y Tecnología de la Información Contenido Introducción Conceptos básicos de POO Clase Herencia Objeto

Más detalles

Unidad Didáctica 10. Concepto de Tipo y Subtipo Diseño e Implementación. Versión 1.0.0

Unidad Didáctica 10. Concepto de Tipo y Subtipo Diseño e Implementación. Versión 1.0.0 Unidad Didáctica 10 Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Índice 1. Concepto de Tipo y Subtipo 2.

Más detalles

09/01/2008. Nombre de la clase. Atributos. Métodos/Operaciones

09/01/2008. Nombre de la clase. Atributos. Métodos/Operaciones Diagramas de Clase Angela Carrillo R. Clase Descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica Implementa una o más interfaces Nombre de la clase

Más detalles

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Objetivo: Identificar los concentos principales en java POO, que es una clase, un objeto así como sus características principales abstracción, modularidad, encapsulamiento, herencia, polimorfismo. INTRODUCCIÓN

Más detalles

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos Academia de computación de IE, ICA e ISISA Unidad didáctica Programación Orientada a Objetos Elaboración y diseño de cien reactivos de opción múltiple para la unidad didáctica programación orientada a

Más detalles

3.1 Introducción a TDA y OO. Capítulo III. Tipos de Datos Abstractos, Orientación a Objetos y Lenguaje Java

3.1 Introducción a TDA y OO. Capítulo III. Tipos de Datos Abstractos, Orientación a Objetos y Lenguaje Java Capítulo III 3.1 Introducción a TDA y OO Tipos de Datos Abstractos, Orientación a Objetos y Lenguaje Java Problemas en el Desarrollo de Grandes Programas ❶ Cómo organizar una pieza de software, de manera

Más detalles

CONTENIDOS. La herencia permite: - Adoptar automáticamente características ya implementadas. Ahorro de tiempo y esfuerzo

CONTENIDOS. La herencia permite: - Adoptar automáticamente características ya implementadas. Ahorro de tiempo y esfuerzo CONTENIDOS 1. Introducción 2. Cuándo se aplica el mecanismo de herencia 3. Un ejemplo de herencia 4. Terminología 5. Clase derivada. Creación de una clase derivada 6. Miembros que no se heredan automáticamente

Más detalles

Tema: Herencia en C#.

Tema: Herencia en C#. POO. Guía No. 8 1 Tema: Herencia en C#. Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos Materiales y Equipo Computadora con Visual Studio /Visual C#. Guía Número

Más detalles

Tema 3. Herencia. Programación Avanzada. Jorge Badenas

Tema 3. Herencia. Programación Avanzada. Jorge Badenas Tema 3. Herencia Programación Avanzada Jorge Badenas 1. Herencia Herencia: relación entre dos clases, donde una clase nueva se define como una extensión de la otra. En la nueva clase sólo necesitamos escribir

Más detalles

Tema 6: Herencia. (El lenguaje C++)

Tema 6: Herencia. (El lenguaje C++) (El lenguaje C++) 1 Índice 2 1. Herencia 3 En C++ pueden ser definidas clases en términos de otras clases (composición). En C++ también podemos definir una clase a partir de otra preexistente utilizando

Más detalles

SECUENCIA DIDÁCTICA. Módulo V Competencia de Módulo:

SECUENCIA DIDÁCTICA. Módulo V Competencia de Módulo: SECUENCIA DIDÁCTICA Nombre de curso: Programación Avanzada Antecedente: Ninguno Módulo V Competencia de Módulo: Clave de curso: COM2205C11 Clave de antecedente: Ninguna Desarrollar software con la finalidad

Más detalles

6. Herencia. Clases abstractas. Genericidad. Clase Object Polimorfismo y ligadura dinámica super Herencia y creación Clases abstractas Genericidad

6. Herencia. Clases abstractas. Genericidad. Clase Object Polimorfismo y ligadura dinámica super Herencia y creación Clases abstractas Genericidad 6. Herencia. Clases abstractas. Genericidad Clase Object Polimorfismo y ligadura dinámica super Herencia y creación Clases abstractas Genericidad 1 Herencia en Java Herencia simple Object es la clase raíz

Más detalles

Contenidos. Técnicas de POO. Abstracción. Abstracción. Programación Orientada a Objetos Facultad de Informática

Contenidos. Técnicas de POO. Abstracción. Abstracción. Programación Orientada a Objetos Facultad de Informática Contenidos Técnicas de POO Programación Orientada a Objetos Facultad de Informática! Abstracción! Definición de clases e interfaces! Mensajes y métodos! Herencia de clases! Composición de objetos Dep.

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Mg. Ricardo Coppo rcoppo@uns.edu.ar La herencia establece una relación entre dos clases, un ancestro o superclase y otro derivado o descendiente Por

Más detalles

Tema: Herencia en C#.

Tema: Herencia en C#. Programación II. Guía No. 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia en C#. Objetivos Crear clases a través de la herencia de clases existentes. Describir

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL

Más detalles

Reutilización con Delegación y Herencia

Reutilización con Delegación y Herencia Reutilización con Delegación y Herencia Carlos Fontela cfontela@fi.uba.ar Temario Delegación Herencia UML: clases, paquetes, secuencias Cuándo usar herencia y cuándo delegación Redefinición Clases abstractas

Más detalles

Herencia y Polimorfismo en C++

Herencia y Polimorfismo en C++ Herencia y Polimorfismo en C++ Informática II Fundamentos de Programación 1 Herencia Concepto de "herencia" herencia": Una clase -clase derivada- puede definirse a partir de otra clase ya existente (clase

Más detalles

PROGRAMACIÓN EN JAVA

PROGRAMACIÓN EN JAVA 1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación

Más detalles

Nombre de la clase. Atributos. Métodos/Operaciones

Nombre de la clase. Atributos. Métodos/Operaciones Diagramas de Clase Angela Carrillo R. Clase Descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica Implementa una o más interfaces Nombre de la clase

Más detalles

Patrones de Diseño. Ing. Miguel Angel Cedeño Garcidueñas

Patrones de Diseño. Ing. Miguel Angel Cedeño Garcidueñas Patrones de Diseño Ing. Miguel Angel Cedeño Garcidueñas miguelcedega@correo.fie.umich.mx Patrones de Diseño Diseñar software orientado a objetos es difícil, pero diseñar software orientado a objetos reutilizable

Más detalles

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia Programación orientada a objetos Capítulo 8 Mejora de las estructuras mediante herencia Clases y objetos de DoME Modelo de objetos Modelo de clases Crítica de la v1 de DoME - Duplicación de código - Las

Más detalles

Clases Abstractas e Interfaces

Clases Abstractas e Interfaces Clases Abstractas e Interfaces Presentación basada en: 1. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003. 2. Apuntes del Curso Programación Orientado a Objetos. Pablo Castells.

Más detalles

HERENCIA. Problema: Reparar el el coche. Jesús (Valencia) Luis, Mecánico (Valencia) Antonio, Servicio Técnico Ferrari (Madrid)

HERENCIA. Problema: Reparar el el coche. Jesús (Valencia) Luis, Mecánico (Valencia) Antonio, Servicio Técnico Ferrari (Madrid) HERENCIA Lenguajes de Programación - Orientación a Objetos: Herencia 1 Problema: Reparar el el coche Jesús (Valencia) Reparar vehículo. Problema: no arranca Luis, Mecánico (Valencia) Método empleado Pedir

Más detalles

Introducción a la Orientación a Objetos

Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos Fernando Bellas Permuy Departamento de Tecnologías de la Información y las Comunicaciones (TIC) Universidad de A Coruña http://www.tic.udc.es/~fbellas fbellas@udc.es

Más detalles

Reutilización con Delegación y Herencia

Reutilización con Delegación y Herencia Reutilización con Delegación y Herencia Carlos Fontela cfontela@fi.uba.ar Temario Delegación Herencia UML: clases, paquetes, secuencias Cuándo usar herencia y cuándo delegación Redefinición Clases abstractas

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Clases abstractas e Mg. Ricardo Coppo rcoppo@uns.edu.ar La clase Object Todas las clases de Java son descendientes de la clase Object No es necesario

Más detalles

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ Tema 3 Clases y Objetos Tema 4 Comunicación entre objetos. Algoritmos Tema 5 Herencia y abstracción de datos Tema 6 Diseño de clases TEMA 5: Herencia

Más detalles

Tema 1.- Conceptos básicos de la OO

Tema 1.- Conceptos básicos de la OO Tema 1.- Conceptos básicos de la OO 1. HISTORIA DE LOS CONCEPTOS... 2 2. OBJETOS Y MENSAJES... 3 3. CLASES DE OBJETOS... 5 4. HERENCIA... 8 5. OTROS CONCEPTOS... 9 6. DESARROLLO ORIENTADO A OBJETOS...

Más detalles

Guía práctica de estudio 07: Herencia

Guía práctica de estudio 07: Herencia Guía práctica de estudio 07: Herencia Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 07: Herencia Objetivo:

Más detalles

Tecnología de Programación

Tecnología de Programación Tecnología de Programación Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur UML - Diagramas de clases El diagrama de clases es un diagrama de la estructura

Más detalles

Curso de Java orientado a Android Parte 2

Curso de Java orientado a Android Parte 2 Curso de Java orientado a Android Parte 2 Introducción Java es un lenguaje de programación orientado a objetos (OOP). En este post cubriremos las características y principios básicos de la programación

Más detalles

Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ ACTIVIDAD. INVESTIGACION DEL TEMA 5.3 CLASE PRINCIPAL.

Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ ACTIVIDAD. INVESTIGACION DEL TEMA 5.3 CLASE PRINCIPAL. Subsecretaría de Educación Superior Subsecretaría de Educación Superior Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ ACTIVIDAD. INVESTIGACION DEL TEMA 5.3 CLASE

Más detalles

Conceptos más avanzados de Programación Orientada a Objetos

Conceptos más avanzados de Programación Orientada a Objetos Conceptos más avanzados de Programación Orientada a Objetos Programación 2008 Licenciatura de Lingüística y Nuevas Tecnologías Repaso: API de Java API = Application Programming Interface Una API describe

Más detalles

INFORMÁTICA INDUSTRIAL

INFORMÁTICA INDUSTRIAL INFORMÁTICA INDUSTRIAL Programación Orientada a Objetos M. Abderrahim, A. Castro, J. C. Cas3llo Departamento de Ingeniería de Sistemas y Automá3ca 1. Introducción Características Generales La orientación

Más detalles

TEMA 1. Agenda. Introducción a la Programación Orientada a Objetos

TEMA 1. Agenda. Introducción a la Programación Orientada a Objetos TEMA 1 Introducción a la Programación Orientada a Objetos V1.1 Manuel Pereira González Agenda Introducción Objetos y Clases Modelo de Objetos Herencia Relaciones entre Objetos Generalización / Especialización

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

Más detalles

Síntesis de la programación

Síntesis de la programación Síntesis de la programación Programación 1º DAM 17 de julio de 2018 Tabla de Contenidos 1. Secuenciación de contenidos...1 2. Unidades de trabajo...3 2.1. Introducción a la Programación...3 2.1.1. Breve

Más detalles

NETBEANS JAVA PROGRAMACIÓN ORIENTADA A OBJETOS

NETBEANS JAVA PROGRAMACIÓN ORIENTADA A OBJETOS NETBEANS JAVA PROGRAMACIÓN ORIENTADA A OBJETOS Como se vio en teoría, la definición de una clase consta de dos partes fundamentales: 1 - La declaración de la clase: Indica el nombre de la clase precedido

Más detalles

Java Básico. Polimorfismo. Copyright

Java Básico. Polimorfismo. Copyright Java Básico Polimorfismo Copyright Copyright (c) 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano v1.0 o posterior.

Más detalles

Programación Dirigida a Objetos. MATERIAL COMPLEMENTARIO Tema 5.- Herencia

Programación Dirigida a Objetos. MATERIAL COMPLEMENTARIO Tema 5.- Herencia Tema 5.- Herencia 1. Herencia múltiple en C++: ambigüedad de nombres...2 2. Herencia en SMALLTALK...4 2.1. Determinación de los métodos a ejecutar: self y super...4 2.2. Herencia de métodos y variables

Más detalles

Análisis y Diseño Orientado a Objetos

Análisis y Diseño Orientado a Objetos Análisis y Diseño Orientado a Objetos 1 Sesión No. 3 Nombre: Paradigma orientado a objeto. Parte III. Contextualización Cuál es el papel de la herencia dentro de los ambientes de programación? La herencia

Más detalles

Herencia y Polimorfismo

Herencia y Polimorfismo Herencia y Polimorfismo Dra. Maricela Bravo Universidad Autónoma Metropolitana Unidad Azcapotzalco 1 Herencia en el mundo real Cosa Medio de telecomunicación Medio de transporte Coche Vehiculo aéreo Objeto

Más detalles

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles