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

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

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

Transcripción

1 Tema 5.- Herencia 1. Herencia múltiple en C++: ambigüedad de nombres Herencia en SMALLTALK Determinación de los métodos a ejecutar: self y super Herencia de métodos y variables de instancia Herencia de métodos de clase Herencia en JAVA Herencia de interfaces

2 1. Herencia múltiple en C++: ambigüedad de nombres Una clase hereda métodos y atributos de más de una clase. class Mamifero { public: int tiempo_incubacion; char* habitat; void comer(char*); class Oviparo { public: int tamaño_huevos; int habitat; void comer(char*); class Hominido: public Mamifero { public: int altura; class Ornitorrinco: public Mamifero, public Oviparo { void comer (char* c) { // this.comer(c) es ambigüo y no puede escribirse aquí this.mamifero::comer(c) //deshace la ambigüedad Ambigüedad o conflictos de nombres en herencia de métodos: Redefinición del método ambigüo, referenciando al que se desea heredar. 2

3 class A { public: Programación Dirigida a Objetos. MATERIAL COMPLEMENTARIO void virtual mostrar (int i) {... void virtual ver (int p) {... class B { public: void virtual mostrar (float f) {... void virtual ver (int n) {... class C: public B, public A { public: void virtual mostrar (int i) {A::mostrar(i); void virtual mostrar (float f) {B::mostrar(f); void virtual vera (int p) {A::ver(p); void virtual verb (int p) {B::ver(p); main() { C c; c.mostrar(4); c.mostrar(2.8); 3

4 2. Herencia en SMALLTALK Programación Dirigida a Objetos. MATERIAL COMPLEMENTARIO 2.1. Determinación de los métodos a ejecutar: self y super. Clase Uno prueba ^ 1 resultado1 ^ self prueba Clase Dos hereda de Uno prueba ^ 2 Clase Tres hereda de Dos resultado2 ^ self resultado1 resultado3 ^ super prueba Clase Cuatro hereda de Tres prueba ^4 ejemplo1 := Uno new. ejemplo2 := Dos new. ejemplo3:= Tres new. ejemplo4.= Cuatro new. ejemplo1 prueba. ejemplo1 resultado1 ejemplo2 prueba ejemplo2 resultado1 ejemplo3 prueba ejemplo4 resultado1 ejemplo3 resultado2 ejemplo4 resultado2 ejemplo3 resultado3 ejemplo4 resultado3 4

5 2.2. Herencia de métodos y variables de instancia La responsabilidad de los métodos de instancia es de la clase, es decir, cuando un objeto recibe un mensaje será su clase quien los ejecute. Por ejemplo, #(1 2 3) at:1 put:2 es un mensaje a un objeto de la clase Array. Cuando el objeto recibe el mensaje transfiere la responsabilidad de su ejecución a la clase. La figura 1 muestra la composición de la clase Carta (el objeto Carta). La clase contiene un diccionario con los métodos de instancia válidos para esa clase. Contiene, además, los nombres de las variables de instancia con nombre. Figura 1.- Composición de la clase Carta y un objeto de la clase Carta. Cada ventana indica en su título la clase a la que pertenece el objeto que se inspecciona. 5

6 La herencia de métodos y variables de instancia sigue la jerarquía de clases típica de Smalltalk. Este es un resumen muy simplificado de ella. Object Behavior Class Metaclass Collection Set Dictionary SequenceableCollection ArrayedCollection Array List OrderedCollection CharacterArray String Magnitude Number Integer Fraction Character Time ByteString 2.3. Herencia de métodos de clase En las primeras versiones de Smalltalk todas las clases eran objetos (instancias) de una única clase, la clase Metaclass. Algo similar ocurre en JAVA. A nivel práctico esto implicaba que la clase Metaclass era responsable de responder al método new para crear objetos. De este modo era imposible redefinir el método new para cada clase. A partir de Smalltalk-80 se amplia el concepto de metaclase de forma que cada clase tenga la suya propia. Los métodos de clase, de los cuales el más típico es el método new, son entonces responsabilidad de la metaclase, es decir, la clase de la cual es instancia una clase. Cada clase tiene su correspondiente metaclase que se denomina con el nombre de la clase seguido del mensaje class. Por ejemplo, la metaclase de Object es Object class. La metaclase permite tratar las clases como objetos. Al tener información sobre la definición de una clase, la metaclase implementa y ejecuta los métodos de clase, en particular los de creación de objetos. Por ejemplo, el método palo:numero: de la clase Carta (figura 1) permite crear objetos de esta clase, en la figura 2 puede observarse que este método está contenido en el diccionario de métodos de Carta class, la metaclase de carta. 6

7 Figura 2.- La metaclase de Carta (Carta class) y la clase Metaclass Cada metaclase tiene una única instancia, su clase. A su vez todas las metaclases son objetos de la clase Metaclass. Metaclass es objeto (instancia) de Metaclass class. Puesto que Metaclass class es una metaclase será instancia de Metaclass. En la siguiente figura podemos ver las relaciones instancia_de que se establecen. Metaclass Carta class Carta 7 de bastos Metaclass class Cada metaclase se responsabiliza de los métodos de clase de su clase. De forma que cuando se crea una clase, se crea primero su metaclase y se almacena en ella la definición de la clase. En la figura que sigue se observa de quién es responsabilidad cada método 7

8 Carta class new palo:numero: Carta palo numero new palo:numero: palo: bastos numero: 7 palo Pero a su vez, los métodos de clase, al igual que los de instancia, también se heredan. Es decir, igual que existe una jerarquía de herencia de clases, existe un jerarquía de herencia de metaclases. Es por esta jerarquía de metaclases por la que se heredan los métodos de clase. Object class Object Metaclass Carta class Carta 7 de bastos Metaclass class Pero, de quién hereda Object class, Metaclass y Metaclass class? La cosa se complica. Aparecen dos nuevas clases: Behavior y Class. Todas las metaclases heredan de Class, que a su vez hereda de Behavior. Metaclass también es subclase de Behavior. De este modo los métodos de instancia definidos en Object se utilizan tanto para manipular los objetos de una clase como las clases y la metaclases. La consecuencias de esta estructura es que los métodos de instancia de Class se transforman en métodos de clase del resto de la jerarquía. Class sería un buen lugar para contener el método new como método de intancia, pero si fuera así no se podría utilizar new para crear clases y metaclases. New se define como método de instancia en Behavior y de este modo sirve tanto para crear objetos de una clase normal, al ser heredado por la vía de Class como método de clase, como para crear clases y metaclases. 8

9 Object Behavior Carta Metaclass Class Object class Behavior class Carta class Metaclass class Class class Veámoslo de forma abstracta (no sucede exactamente de este modo). Supongamos que queremos crear la clase Bolígrafo. Habría que crear primero su metaclase: Metaclass new name:boligrafo. New es en este caso un método de clase de Metaclass, luego debe ser ejecutado por Metaclass class. Como Metaclass class hereda de Behavior se crea la correspondiente metaclase. Name es un método de instancia de Metaclass, luego será Metaclass el que lo resuelva. Una vez creada la metaclase ya podemos crear la clase: (Bolígrafo class) new Este new va dirigido a una metaclase luego sería un método de instancia de Metaclass y sería Metaclass la responsable de él. De nuevo se puede ejecutar el new de Behavior o se puede redefinir en Metaclass, en este caso se redefine en Metaclass para que solo se pueda tener una clase para cada metaclase. Ya creada la clase se le pueden mandar mensajes para definir las variables y los métodos: Bolígrafo addinstvarname: tinta El método addinstvarname: añade una variable de instancia (ver figura 1). Se trata de un método de clase, pero como en realidad manipula la clase como un objeto cualquiera está implementado en Class y es heredado por Bolígrafo class. La finalidad de todo este lío es: - Poder tratar las clases como objetos: Class hereda indirectamente de Object, luego los mensajes que entiende un objeto, que determinan su comportamiento y modifican su estado, también son válidos para una clase. - Poder heredar los métodos de creación de instancias: El método new, para crear instancias, está implementado en Behavior. Como Class y Metaclass heredan de 9

10 Behavior, heredan este método y pueden crearse clases y metaclases. Todas las metaclases heredan de Class, y entre ellas está la metaclase Object class. Object class también hereda el método new, por lo cual también puede crearse cualquier objeto (recordemos que son las metaclases las que responden al mensaje new y son las que en realidad crean objetos) 10

11 11

12 3. Herencia en JAVA 3.1. Herencia de interfaces Una interface es una forma de declarar un tipo, de tal forma que éste conste de constantes y signaturas de métodos sin implementar. La interface define un tipo que puede ser usado para declarar variables. Una interface podrá ser implementada por clases diferentes que pueden o no tener relación de herencia entre sí. La interface puede considerarse similar a una clase abstracta pero se diferencian en lo siguiente: - La interfaz carece de implementación. En general una clase abstracta posee métodos abstractos, que deberán ser implementados por las subclases, y métodos implementados en ella. - Una interfaz puede heredar de más de una interfaz. - Las subclases de una clase abstracta tendrán entre sí alguna relación de generalización/especialización. Sin embargo, las clases que implementan una interfaz pueden no tener ninguna relación de herencia. Supongamos el siguiente problema: los datos de los clientes de una empresa se encuentran en diferentes bases de datos con diferentes estructuras. Se desea unificar el servicio de envío de correo electrónico a los clientes independientemente de la base de datos. Class Cliente String nombre String apellidos String Enviar (String mensaje) Class ListaDeClientes Cliente [] clientes Abstract ObtenerTodosLosClientes AñadirCliente (Cliente c) OrdenarClientes EnviarATodos (String mensaje) {acadacliente.enviar (mensaje) AñadirListaDeClientes (ListaDeClientes lista) Class ListaDeClientesOracle extends ListaDeClientes ObtenerTodosLosClientes {para cada cliente obtenido de la BD crear uncliente Class GestorCorreoClientes ListaDeClientes listaglobaldeclientes ListaDeClientesOracle listaoracle String mensaje EnviarATodos {listaoracle.obtenertodoslosclientes; listaglobaldeclientes.añadirlistadeclientes (listaoracle); 12

13 listaglobaldeclientes.ordenarclientes(); listaglobaldeclientes.enviaratodos (mensaje) Programación Dirigida a Objetos. MATERIAL COMPLEMENTARIO Supongamos ahora que los Clientes a los que hay que enviar los mensajes son difícilmente unificables en una clase y que, además, para cada tipo de clientes se utiliza un programa de correo y un protocolo diferente de envío. En este caso recurrimos a una interface. Interface Cliente Enviar (String mensaje) Class Empresa implements Cliente String nombre String director String Enviar (String mensaje) Class Individuo implements Cliente String apellidos String nombre String Enviar (String mensaje) El método obtenertodoslosclientes de ListaDeClientes debería también modificarse para crear una u otra clase de clientes. Otra solución sería crear una subclase de ListaDeClientes por cada tipo de cliente. Las interfaces pueden heredarse y además de forma múltiple. Interface Empresario Regalar (String mensaje) Interface Persona Felicitar (String mensaje) Interface ClienteEmpresario extends Cliente, Empresario Interface ClientePersona extends Cliente, Persona Ahora podríamos hacer que las clase Empresa implemente ClienteEmpresario y la clase Indiciduo implemente ClientePersona. Evidentemente habría que implementar las operaciones pertinentes en cada clase. No existe la herencia múltiple en Java, aunque una clase puede heredar de otra e implementar al mismo tiempo los métodos de una Interface. interface Alimentos { void comer(string c); void beber(string b); interface Ejercicios { void correr(int k); class Dieta implements Alimentos { // uso de una interface 13

14 private String comida; void comer(string c) { comida= c; ; void beber(string b) { System.out.println(b); class Dieta implements Alimentos, Ejercicios { //uso de varias interfaces: simulación de herencia múltiple private String comida; public int totalcorrido = 40; void comer(string c) { comida= c; ; void beber(string b) { System.out.println(b);; void correr(int k) { return ( totalcorrido+ k) ; En realidad, hay dos formas de simular en Java la herencia múltiple y podemos verla con el ejemplo del Ornitorrinco 1) Se toman métodos de varias interfaces interface Mamifero {... interface Oviparo {... class Ornitorrinco implements Mamifero, Oviparo {... 2) Se hereda de una clase y se toman métodos de una o más interfaces interface Mamifero {... class Oviparo {... class Ornitorrinco extends Oviparo implements Mamifero {... En realidad no se trata de herencia múltiple puesto que las interfaces no permiten heredar ninguna implementación, pero al tener que implementar la interface Mamífero, la clase Ornitorrinco se puede comportar como un Mamífero allí donde se hayan declarado variables de tipo Mamífero. La interfaces dan una mayor potencia al polimorfismo al permitir que clases que no tienen ninguna relación de herencia puedan actuar de modo polimórfico. Las interfaces tienen una última ventaja de diseño: se puede proponer una interfaz como el protocolo mínimo que deben cumplir las clases para poder interactuar. Esto permite anticipar el comportamiento de clases que aún no han sido definidas. Por ejemplo, en JAVA Collection es una interfaz de modo que cualquier clase que la implemente se podrá comportar como una colección. 14

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

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

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

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

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

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

A3F. Polimorfismo. Carlos Fontela

A3F. Polimorfismo. Carlos Fontela Polimorfismo Carlos Fontela cfontela@fi.uba.ar Temario Métodos virtuales Métodos abstractos Polimorfismo como concepto Interfaces Clases internas 2c2010 2 cb := CuentaBancaria new. cc := CuentaCorriente

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

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

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

CONCEPTO DE INTERFACE Y HERENCIA MÚLTIPLE EN JAVA. IMPLEMENTS. EJEMPLOS Y DIAGRAMAS DE CLASES. (CU00696B)

CONCEPTO DE INTERFACE Y HERENCIA MÚLTIPLE EN JAVA. IMPLEMENTS. EJEMPLOS Y DIAGRAMAS DE CLASES. (CU00696B) APRENDERAPROGRAMAR.COM CONCEPTO DE INTERFACE Y HERENCIA MÚLTIPLE EN JAVA. IMPLEMENTS. EJEMPLOS Y DIAGRAMAS DE CLASES. (CU00696B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha

Más detalles

Clases abstractas e interfaces en Java

Clases abstractas e interfaces en Java Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura

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 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar

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

18. Interfaces Declaración de una interfaz

18. Interfaces Declaración de una interfaz Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir

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

Derechos de Acceso: COMPOSICION

Derechos de Acceso: COMPOSICION CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:

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

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

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

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

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

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

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Interfaces. Clase Object. Autoboxing. Copia de objetos. Igualdad

Más detalles

Examen Teórico Convocatoria de Junio de 2012

Examen Teórico Convocatoria de Junio de 2012 Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica

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

A3F. Polimorfismo. Carlos Fontela

A3F. Polimorfismo. Carlos Fontela Polimorfismo Carlos Fontela cfontela@fi.uba.ar Temario Métodos virtuales Métodos abstractos Polimorfismo como concepto Interfaces Clases internas 2c2009 2 Métodos virtuales (1) 2c2009 3 Métodos virtuales

Más detalles

Módulo 8: INTERFACES

Módulo 8: INTERFACES Módulo 8: INTERFACES 8-1 SUMARIO INTERFACES 1 SUMARIO 2 8.1 INTRODUCCIÓN A LOS INTERFACES EN JAVA 3 8.2 UTILIZACIÓN DE INTERFACES EN JAVA 4 8.3 COMBINACIÓN DE INTERFACES: HERENCIA MÚLTIPLE EN JAVA5 8.4

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

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

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011 Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas

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

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

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java En nuestro post de hoy vamos a tratar el tema la programación orientada a objetos en Java, no todo va a ser.net! En si la POO es bastante amplia y muy necesario

Más detalles

Examen Teórico. Convocatoria de Febrero de 2016

Examen Teórico. Convocatoria de Febrero de 2016 Examen Teórico Convocatoria de Febrero de 2016 Nombre: DNI: Grupo: 1. Responde a las siguientes cuestiones: a) Un programador Java empaqueta el código de un proyecto en el fichero videojuego.jar cuya clase

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

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

Conceptos Básicos de Orientación a Objetos (2da parte)

Conceptos Básicos de Orientación a Objetos (2da parte) Conceptos Básicos de Orientación a Objetos (2da parte) Operación y Método Operación: especificación de una transformación o consulta que un objeto puede ser llamado a ejecutar Método: implementación de

Más detalles

Programación Tema 7: Relaciones entre clases. Programación DIT-UPM

Programación Tema 7: Relaciones entre clases. Programación DIT-UPM Programación Tema 7: Relaciones entre clases 1 Contenidos l Polimorfismo l Implementación de interfaces l Uso de interfaces l Jerarquías de interfaces l Extensión l Jerarquía de extensión 2 Polimorfismo

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

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

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos 1

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos 1 Conceptos ELO329: Diseño y Programación Orientados a Objetos ELO 329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

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

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

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

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Específicos Comprender que es ligadura e identificar

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

Más detalles

Relaciones entre clases

Relaciones entre clases Relaciones entre clases 1 Humberto Cervantes Maceda Alfonso Martínez Martínez Abril 2005 Relaciones entre clases Dependencia Generalización Asociación Realización 2 Relaciones entre clases Dependencia:

Más detalles

RTTI y reflexión A3F. Carlos

RTTI y reflexión A3F. Carlos RTTI y reflexión Modelos de objetos Carlos Fontela cfontela@ @fi.uba.ar Temario RTTI (información de tipos en tiempo de ejecución) Reflexión Modelos de objetos en dis stintos lenguajes 1c2011 2 Polimorfismoo

Más detalles

Manejo de Clases y Objetos. Manejo de Clases y Objetos

Manejo de Clases y Objetos. Manejo de Clases y Objetos Cod. 1728.61 PLATAFORMA.NET Y SERVICIOS WEB nestor@lsi lsi.uniovi.es Dpto. de Informática - Laboratorio de Tecnologías de Orientación a Objetos http://www www.ootlab.uniovi.es CONCEPTOS BÁSICOS Objeto:

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

10 -Herencia Y Polimorfismo. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

10 -Herencia Y Polimorfismo. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 10 -Herencia Y Polimorfismo Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas Herencia Si se supone que somos buenos programando, cuando creemos una clase es posible que sea

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

PROGRAMACION ORIENTADA A OBJETOS EN C++

PROGRAMACION ORIENTADA A OBJETOS EN C++ PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje

Más detalles

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Unidad V. Ya veremos qué poner en algunas_palabras y algo_más, por ahora sigamos un poco más. Implementación Orientada a Objetos. Unidad V 5.1 Estructura de una clase. Una clase consiste en: algunas_palabras class nombre_de_la_clase [algo_más] { [lista_de_atributos] [lista_de_métodos] Lo que está

Más detalles

b) Basta con definir una variable de tipo Alumno (a) y otra de tipo CursoExtraescolar (curso) antes de hacer la llamada al método mediante el

b) Basta con definir una variable de tipo Alumno (a) y otra de tipo CursoExtraescolar (curso) antes de hacer la llamada al método mediante el PRIMER EXAMEN PARCIAL ESTRUCTURA DE DATOS Y ALGORITMOS 27 FEBRERO 2014 Apellidos y Nombre: Grupo Algunas reglas: Antes de comenzar el examen, escribe tu nombre y grupo. Lee atentamente el enunciado de

Más detalles

Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos 01/02/2013 ING. PEDRO BELTRÁN CANESSA

Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos 01/02/2013 ING. PEDRO BELTRÁN CANESSA Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos Definición Clase es la representación abstracta (modelo) de una entidad del mundo La clase especifica los atributos (propiedades)

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

Clases Abstractas e Interfaces

Clases Abstractas e Interfaces Clases Abstractas e Interfaces Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender a crear y utilizar clases y métodos abstractos

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

Herencia y búsqueda de métodos en Smalltalk

Herencia y búsqueda de métodos en Smalltalk Herencia y búsqueda de métodos en Smalltalk Animal Pajaro Mamifero Loro Pinguino Perro Ballena Ballena new decialgo Ballena new decialgo Mamifero new decialgo New crea una nueva ballena. Smalltalk responde

Más detalles

2. Tratamiento de objetos con JAVA

2. Tratamiento de objetos con JAVA 2. Tratamiento de objetos con JAVA David Contreras Bárcena (ETSI) - Comillas 71 2.1 Ciclo de Vida de los Objetos Los objetos tienen un tiempo de vida y consumen recursos durante el mismo. Cuando un objeto

Más detalles

PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B)

PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B) APRENDERAPROGRAMAR.COM PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero

Más detalles

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

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Clase Object. Autoboxing. Igualdad de objetos. Copia de objetos.

Más detalles

2. Indica cuál de las siguientes afirmaciones es cierta:

2. Indica cuál de las siguientes afirmaciones es cierta: Nombre:. Indica cuál de las siguientes afirmaciones es cierta: El diseño de un programa procedural está guiado por la división en tareas a realizar, mientras que el diseño orientado a objetos está dirigido

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

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 2.- Objetos y mensajes

Tema 2.- Objetos y mensajes Tema 2.- Objetos y mensajes 1. Objetos y mensajes: mecanismo de envío de mensajes...2 2. SMALLTALK: EXPRESIONES...3 2.1. LITERALES: designan objetos constantes...3 2.2. NOMBRES DE VARIABLES: identifican

Más detalles

Interfaces y Clases Internas

Interfaces y Clases Internas Interfaces y Clases Internas (No es interfaz gráfica, sirve como alternativa a herencia múltiple) ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas?

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

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tema 4 Programación II Programación II 0 Tema 4: INTRODUCCIÓN A LA PROGRAMACIÓN

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 Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época

Más detalles

Interfaces y Clases Internas

Interfaces y Clases Internas Interfaces y Clases Internas (No es interfaz gráfica, sirve como alternativa a herencia múltiple) ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas?

Más detalles

Arquitecturas cliente/servidor

Arquitecturas cliente/servidor Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor 1 Creación de Sockets Cliente/Servidor Sockets en TCP Concepto de Hilos Definición de DAEMON Sockets en UDP 2 THREADS 3 Qué es un thread?

Más detalles

Examen Teórico. Convocatoria de Febrero de 2015

Examen Teórico. Convocatoria de Febrero de 2015 Examen Teórico Convocatoria de Febrero de 2015 Nombre: DNI: Grupo: 1. Contesta de forma razonada a las siguientes cuestiones relacionadas con los ficheros.jar: a) Para qué se utilizan los ficheros con

Más detalles

Ingeniería del Software Separación entre Presentación y Lógica del Negocio

Ingeniería del Software Separación entre Presentación y Lógica del Negocio Introducción En este laboratorio desarrollaremos una aplicación que verifica si una cuenta y un password son correctos. En dicha aplicación la presentación y la lógica del negocio se definirán en dos capas

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

Examen Teórico. Convocatoria de Febrero de 2018

Examen Teórico. Convocatoria de Febrero de 2018 Examen Teórico Convocatoria de Febrero de 2018 Nombre: DNI: Grupo: 1. Dado un proyecto Java en Eclipse que tiene como clase principal proyecto.programa y requiere de la librería matemática de Apache commons-math.jar,

Más detalles

Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática

Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Introducción. Conversión

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

Interface nominterface{

Interface nominterface{ Programación Orientada a Objetos Interfaces, Contenedores y Casting Angela C. Carrillo Ramos Interface Define un tipo con un contrato abstracto Una interface puede heredar de otras interfaces interface

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

POO: Clases y objetos

POO: Clases y objetos POO: Clases y objetos Programación de aplicaciones 1 Introducción En los lenguajes de programación orientados a objetos, tenemos la posibilidad de extender el lenguaje mediante la creación de nuevo tipos,

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

Polimorfismo de tipo (en la herencia)

Polimorfismo de tipo (en la herencia) Polimorfismo de tipo (en la herencia) Pablo San Segundo (C-206) pablo.sansegundo@upm.es Índice Overriding (especialización o redefinición) Static bind (enlace estático) Dynamic bind (enlace dinámico) Clases

Más detalles

Concurso: Cuánto sabes de JAVA?

Concurso: Cuánto sabes de JAVA? Concurso: Cuánto sabes de JAVA? Motivación: o Para cambiar el ritmo de las jornadas y que no todas las actividades sean charlas o Recordar conocimientos y aprender algo nuevo. o Las preguntas pueden ayudarnos

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

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

CONCEPTOS BÁSICOS PROGRAMACIÓN ORIENTADA A OBJETOS. Ing. Martha Tello

CONCEPTOS BÁSICOS PROGRAMACIÓN ORIENTADA A OBJETOS. Ing. Martha Tello CONCEPTOS BÁSICOS PROGRAMACIÓN ORIENTADA A OBJETOS Ing. Martha Tello Introducción Cuando hacemos referencia a la programación orientada a objetos estamos hablando de una nueva forma de pensar acerca del

Más detalles

Recogiendo la basura. Herencia de interfaz Transversal Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Recogiendo la basura. Herencia de interfaz Transversal Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1 Herencia de interfaz. 2013 Transversal Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 Introducción Ante la herencia múltiple alguna solución no controversial tenía que

Más detalles

Polimorfismo. Métodos virtuales

Polimorfismo. Métodos virtuales Polimorfismo. Métodos virtuales El polimorfismo indica que una variable pasada o esperada puede adoptar múltiples formas. Cuando se habla de polimorfismo en programación orientada a objetos se suelen entender

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

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

HOJA DE EJERCICIOS 4 INTERFACES Y CLASES ABSTRACTAS EN JAVA Y C++

HOJA DE EJERCICIOS 4 INTERFACES Y CLASES ABSTRACTAS EN JAVA Y C++ Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2009/2010 Nombre:... Fecha: / 12 / 2009 HOJA DE EJERCICIOS 4 INTERFACES Y CLASES ABSTRACTAS EN JAVA Y C++ Esta hoja de ejercicios

Más detalles