A3F. Polimorfismo. Carlos Fontela
|
|
- José Ramón Alarcón Saavedra
- hace 6 años
- Vistas:
Transcripción
1 Polimorfismo Carlos Fontela
2 Temario Métodos virtuales Métodos abstractos Polimorfismo como concepto Interfaces Clases internas 2c2010 2
3 cb := CuentaBancaria new. cc := CuentaCorriente new. Analizar cb extraer: 200. cc extraer: 200. Generación de lista de compras 2c2010 3
4 Analizar CuentaBancaria cb = new CuentaBancaria( ); CuentaCorriente cc1 = new CuentaCorriente( ); CuentaBancaria cc2 = new CuentaCorriente( ); cb.extraer(200); cc1.extraer(200); cc2.extraer(200); Generación de lista de compras 2c2010 4
5 Métodos virtuales (1) 2c2010 5
6 Métodos virtuales (2) llama al dibujar de Elipse: unaelipse mover. llama al dibujar de Triangulo: untriangulo mover. llama al dibujar de la clase de cada figura: coleccion dibujar. En Java y en Smalltalk la virtualidad se da por defecto En C# y C++ debemos declarar métodos como virtual Métodos de clase, privados y finales no son virtuales 2c2010 6
7 Métodos virtuales (3) Los métodos virtuales agregan ineficiencias Pero garantizan reutilización Eliminar la virtualidad sólo si se demuestra que no se van a redefinir y la presunta ineficiencia Un método debe ser virtual sí o sí cuando se lo redefinirá y es llamado desde: Un método en una clase ancestro Un método que delegue en el método en cuestión de la clase ancestro En Smalltalk no hay opción: todo método de instancia es virtual 2c2010 7
8 Ejemplo estándar en Java En Object public String tostring ( ) { } System.out.println( ) usa tostring() Si quiero que un objeto sea imprimible, debo redefinir tostring: En CuentaBancaria Luego... public String ToString() { return titular; } CuentaBancaria cuenta = new CuentaBancaria (12, Juan ); System.out.println (cuenta); 2c2010 8
9 Métodos abstractos (1) Nunca van a ser invocados: caso del dibujar de Figura Las instancias de las subclases van a poder responder el mensaje Pero sin definir comportamiento en la clase ancestro A nivel de la clase madre sólo se puede prever la firma que tendrá En lenguajes compilados, es también una necesidad de compilación Corolarios No tienen implementación Deben redefinirse Son virtuales 2c2010 9
10 Métodos abstractos: implementación En Java y C#: public void abstract dibujar(); Si una clase tiene métodos abstractos debe ser abstracta En Smalltalk Convencional Llamar a self subclassresponsibility 2c
11 Polimorfismo Objetos de distintas clases de una misma familia entienden los mismos mensajes Igual semántica (significado) Implementaciones diferentes Un mismo mensaje puede provocar la invocación de métodos distintos Vinculación tardía Se retarda la decisión sobre el método a llamar hasta el momento en que vaya a ser utilizado 2c
12 Polimorfismo sin herencia (Smalltalk) Los elementos deben ser dibujables Lo que necesito es que esté presente el método dibujar en la clase Si no => problemas en tiempo de ejecución 2c
13 Polimorfismo sin herencia (Java - 1) El problema es que en Java hay compilación con verificación de tipos El compilador no va a permitir una llamada a dibujar() desde un Object Cómo lograr que las instancias de Figura y de DiagramaUML sean dibujables para el compilador? 2c
14 Polimorfismo sin herencia (Java - 2) Solución: Hay una construcción llamada interfaz 2c
15 Son como clases Abstractas Con todos los métodos abstractos Sin atributos (sin estado) Ejemplo Interfaces: clases muy abstractas (1) public interface Imprimible { /*public abstract*/ void imprimirdatos(); } Pueden heredar de otras interfaces public interface Dibujable extends Imprimible { void dibujar(); } 2c
16 Interfaces: clases muy abstractas (2) Uso public class CajaAhorro extends CuentaBancaria implements Imprimible {... } Corolario Si una clase declara implementar una interfaz y no implementa (redefine) uno de sus métodos es abstracta 2c
17 Interfaces: protocolos Son grupos de métodos sin implementar Una clase puede implementar varias Ojo con los conflictos de nombres 2c
18 Interfaces y polimorfismo (1) Variables cuyo tipo es una interfaz Imprimible i = new Fecha(20,6,1964); Imprimible[ ] lista = new Imprimible[3]; lista[0] = new Fecha (20, 1, 2000); lista[1] = new Inmueble ( ); lista[2] = new Fecha (8, 6, 2002); for (int i=0; i < 3; i++) lista[i].imprimirdatos(); Ojo que sólo puedo instanciar clases 2c
19 Interfaces y polimorfismo (2) Cada objeto puede tener muchas caras Fecha f = new Fecha(20,6,1964); Imprimible i = f; Comparable c = f; Serializable s = f; Todos se refieren al mismo objeto Pero lo ven distinto Cada variable sólo puede usar los métodos de su interfaz 2c
20 Qué es una interfaz? Visión de lenguaje Una clase muy abstracta que se puede usar para herencia múltiple Visión desde el uso Un tipo de datos que permite que ver a un mismo objeto con distintos tipos => Cada tipo implica un comportamiento 2c
21 Interfaces predefinidas Caso de Comparable En java.lang.comparable interface Comparable { int compareto (Object o); } Devuelve valores <0, 0 o >0 Muy útil en colecciones! Hay otras predefinidas Comparator, Serializable, Cloneable, etc. 2c
22 Uso de Comparable public class Fraccion implements Comparable { private int numerador; private int denominador; } // otros métodos public int compareto(object otro) { Fraccion otra = (Fraccion) otro; if (numerador * otra.denominador > denominador * otra.numerador) return 1; else if (numerador * otra.denominador < denominador * otra.numerador) return -1; else return 0; } 2c
23 Comparable y arreglos Clase Arrays: uso Fraccion [ ] v = new Fraccion[4]; Arrays.sort (v); int posicion = Arrays.binarySearch (v, x); Método sort(): definición public void sort (Comparable [ ] w) { } Si Fraccion implementa Comparable, puedo usar Arrays.sort(v) Y si no? 2c
24 Rarezas: Comparator Si la clase de v no implementa Comparable, existe otro sort(): public void sort (Object [ ] v, Comparator c) { } Que puedo usar así: Comparator comp = new ComparadorFracciones(); Arrays.sort (x, comp); Y qué es ComparadorFracciones? Una clase que implementa java.util.comparator Y su método: public int compare (Object o1, Object o2); 2c
25 Implementación del comparador public class ComparadorFracciones implements java.util.comparator { public int compare (Object o1, Object o2) { Fraccion f1 = (Fraccion)o1; Fraccion f2 = (Fraccion)o2; if ( f1.getnumerador() * f2.getdenominador() > f1.getddenominador() * f2.getnumerador() ) return 1; else if ( f1.getnumerador() * f2.getdenominador() < f1.getdenominador() * f2.getnumerador() ) return -1; else return 0; } } 2c
26 Qué hicimos? Creamos una clase que no tiene estado! Y la instanciamos! Tampoco se refiere a una entidad de dominio Aparece por necesidades de diseño (solución) Sólo sirve por el método que lleva dentro Esto es un patrón de diseño: Command Otro uso de Comparator: Para definir otra forma de ordenamiento 2c
27 Claves Métodos virtuales garantizan reutilización genuina Interfaces definen qué puede hacer un objeto Polimorfismo = distintos comportamientos para un mismo mensaje 2c
28 Lecturas obligatorias Principios de diseño de Smalltalk, de Daniel H. H. Ingalls. Lo tienen en: tm Domain Driven Design, de Eric Evans, capítulo 1 Lo tienen en: s/chapter01.pdf 2c
29 Lecturas opcionales Orientación a objetos, diseño y programación, Carlos Fontela 2008, capítulos 7 y 8 Polimorfismo basado en herencia y Polimorfismo basado en interfaces 2c
30 Qué sigue Excepciones Colecciones e iteradores Primer parcial 2c
POO en lenguajes compilados de tipos estáticos (Java y C#)
POO en lenguajes compilados de tipos estáticos (Java y C#) Carlos Fontela cfontela@fi.uba.ar Temario Modelo de referencias, creación y destrucción de objetos (introducción) Paquetes y grupos de clases
Más detallesINTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)
APRENDERAPROGRAMAR.COM INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
Más detallesExcepciones en Java Colecciones e iteradores Genericidad Cierre de UML
Excepciones en Java Colecciones e iteradores Genericidad Cierre de UML Carlos Fontela cfontela@fi.uba.ar Temario Excepciones en Java Colecciones e iteradores En Java 1.4 y.net 1.1 Genericidad Desde Java
Más detallesInterfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas? NOTA: El término interfaz aquí NO se refiere a las interfaces gráficas
Más detallesCurso 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 detallesPatrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para
Más detallesProgramación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización
Programación orientada a objetos Resumen de Temas Unidad 6: Polimorfismo y reutilización 6.1 Concepto de Polimorfismo Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite que un
Más detallesIntroducció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 detallesExcepciones Colecciones e iteradores
Excepciones Colecciones e iteradores Carlos Fontela cfontela@fi.uba.ar Temario Excepciones Desacoplar código de tratamiento de problemas Tratamiento de problemas con un enfoque optimista Colecciones e
Más detallesJava Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
Más detalles16. 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 detallesTema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos
Tema 3: Genericidad en Java Tema 3: Genericidad en Java Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general: 1. Definición y Ventajas de la
Más detallesJava en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría
Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas
Más detallesclass Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }
REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)
Más detallesPatrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08
Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos
Más detalles- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo
- Introdución a Java - Breve historia de Java - Características del lenguaje Java - Estructura del JDK 1.6 - Documentación del API (JavaDoc) - Instalar y configurar el ambiente de desarrollo - La variable
Más detallesJava en 2 horas. Rodrigo Santamaría
+ Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión
Más detallesINTRODUCCIÓ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 detallesTema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08
Tema 2 Técnicas básicas de POO Técnicas de Programación - Curso 2007/08 Contenido Principios de POO Encapsulación Herencia Polimorfismo Ejemplos Técnicas básicas Delegación Uso de interfaces Interfaces
Más detallesPARA 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 detallesHERENCIA 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 detallesPROGRAMACION 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 detallesObjeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico
Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico Objeto Representa una instancia de un elemento del mundo del problema Es cualquier elemento
Más detallesDerechos 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 detallesAplicaciones 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 detallesConceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos
Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad
Más detallesConceptos 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 detallesOrdenación de colecciones de objetos.
Ordenación de colecciones de elementos Ordenación de colecciones de objetos. Revisión 1.1 Introducción. Debido a que en los últimos tiempos esta parece ser una de las preguntas más frecuentes que aparecen,
Más detallesIntroducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir
Más detallesPATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype
PATRONES DE DISEÑO DE CREACIÓN Abstract Factory Builder Factory Method Prototype Patrones de diseño de creación Abstraen el proceso de creación de instancias Encapsulan el conocimiento sobre las clases
Más detallesHerencia. Hay clases que comparten gran parte de sus características.
Herencia Hay clases que comparten gran parte de sus características. El mecanismo conocido con el nombre de herencia permite reutilizar clases: Se crea una nueva clase que extiende la funcionalidad de
Más detallesFUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005
Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas
Más detallesUnidad 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 detallesIntroducción a OOP LSUB, GSYC, URJC. Wednesday, January 16, 13
Introducción a OOP LSUB, GSYC, URJC 1 Clases y Objetos Clase = datos + operaciones 2 Clases y Objetos public class Punto { public int x; public int y; 3 Clases y Objetos Punto p1 = new Punto(); Punto p2
Más detallesTema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
Más detallesClases 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 detallesProgramación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia
Más detallesINDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)
APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:
Más detallesPor ejemplo, considerando la jerarquía de herencia de Figuras Geométricas de la siguiente figura, es posible hacer uso del concepto de polimorfismo.
POLIMORFISMO El polimorfismo es la característica de la programación orientada a objetos que permite modificar la instancia de un objeto en tiempo de ejecución basado en una jerarquía de herencia. De esta
Más detallesEstructuras de Datos y Algoritmos. Primeros ejemplos de TDA
Estructuras de Datos y Algoritmos Primeros ejemplos de TDA Repaso POO Programación Orientada a Objetos Principios encapsulamiento abstracción herencia polimorfismo POO y Java: encapsulamiento Todo está
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesProgramació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 detallesMetodología y Tecnología de la Programación
Metodología y Tecnología de la Programación Curso 2008/09 Tema 7 Tipos de Datos Abstractos Temario 7.1 Concepto de Tipo de Datos Abstracto 7.2 Clasificación de Tipos de Datos Abstractos 7.3 Especificación
Más detallesLa Herencia: Teoría (1)
Introducción a la Herencia Presentación basada en: 1. Construcción de Software Orientado a Objetos. Bertrand Meyer.1998. 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003.
Más detallesDiseño Basado en Componentes. Curso 2008 / 09
Beneficios de OOP Diseño Basado en Componentes Ingeniería Informática Universidad Carlos III de Madrid Programación Orientada a Objetos (OOP) en VB.NET Diseño Basado en Componentes. Curso Conceptos orientados
Más detallesLenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2
Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3
Más detallesTema 4 Genericidad en Java. Programación Orientada a Objetos Curso 2013/2014
Tema 4 Genericidad en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Antecedentes. Genericidad en Java 5 y posterior. Características avanzadas: Genericidad restringida. Tipo puro. Limitaciones
Más detallesIntroducción a Java LSUB. 30 de enero de 2013 GSYC
Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial
Más detallesPOLIMORFISMO "una interfaz, múltiples métodos".
"una interfaz, múltiples métodos". 20/02/2007 Polimorfismo 2 Indice Definición y caracteristicas Objetivos. SOBRRESCRITURA-SOBRECARGA SOBRECARGA Clases y métodos abstractos INTERFACES (herencia múltiple)
Más detallesUniversidad Salesiana de Bolivia
Universidad Salesiana de Bolivia Ingeniería de Sistemas I DATOS DE IDENTIFICACIÓN PLAN DE DISCIPLINA GESTIÓN II - 2015 INSTITUCIÓN UNIVERSITARIA: Universidad Salesiana de Bolivia RECTOR: Dr. Rvdo. P. Thelian
Más detallesAgenda..NET C# Laboratorio #1
PROGRAMACIÓN III Agenda.NET C# Laboratorio #1 .NET Qué es.net? Una arquitectura tecnológica para la creación y distribución de software como servicio. Servicio en cualquier plataforma, cliente en cualquier
Más detallesConversión entre Tipos
Conversión entre Tipos La conversión entre tipos permite comparar y copiar valores entre diferentes tipos. En esta lección describiremos como convertir un tipo dado en otro. Conversión en VB y Existen
Más detallesHoja 4: Solución. public String tostring() { return "("+getx()+", "+gety()+")"+" Lado: "+getlx();
Hoja 4: Solución Ejercicio 1 package figuras; public class Cuadrado extends Rectángulo { public Cuadrado(int x, int y, int ancho) { super(x,y,ancho,ancho); public String tostring() { return "("+getx()+",
Más detallesLenguaje Orientado por Objetos Simple, Poderoso y Fácil de aprender Robusto Interactivo Arquitectura neutral Interpretado y de alto desempeño
Programación Orientada a Objetos Introducción a Java Angela Carrillo Ramos Java: Lenguaje de Programación Por qué surge un lenguaje? Para adaptarse a los cambios de entorno y usos: Independencia de la
Más detalles15. Parámetros o argumentos
Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el
Más detallesSoluciones Ejercicios Tema 3
1 Soluciones Ejercicios Tema 3 Germán Moltó gmolto@dsic.upv.es Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Solución Ejercicio
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesRESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Más detallesTutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.
Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. olopez@uniandino.com.co DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado
Más detallesCurso Fundamentos de Informática Lección 7. Programación Orientada a Objetos
Fundamentos de Informática Lección 7. Programación Orientada a Objetos Curso 2010-2011 José Ángel Bañares y Pedro Álvarez 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos Implementación
Más detallesJava: Clases Abstractas e Interfaces
Clases abstractas e interfaces Java: Clases Abstractas e Interfaces Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl A nivel conceptual,
Más detallesEXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando
Más detallesCONCEPTOS BASICOS DEL LENGUAJE JAVA
CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten
Más detallesFUNDAMENTOS DE PROGRAMACIÓN Curso: 2013/14 EXAMEN PARA ALUMNOS PRESENTADOS AL PRIMER PARCIAL PRIMERA PARTE. EJERCICIO 1 Cuestiones (1 punto)
EXAMEN PARA ALUMNOS PRESENTADOS AL PRIMER PARCIAL PRIMERA PARTE EJERCICIO 1 Cuestiones (1 punto) 1 2 3 4 5 6 7 8 9 10 Seleccione la opción correcta en cada caso, teniendo en cuenta que tan sólo puede marcar
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesÁrboles binarios de búsqueda
Clase 27 Árboles binarios de búsqueda Árboles binarios de búsqueda En la clase anterior, definimos el concepto de árbol binario de búsqueda como un árbol binario de nodos que contienen una clave ordenada
Más detallesPROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07
PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesModelo de Objetos Distribuidos
Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo
Más detallesPROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.
Código CC3002 Nombre Nombre en Inglés PROGRAMA DE CURSO Metodologías de Diseño y Programación Design and Programming Methodologies SCT es Docentes Horas de Cátedra Horas Docencia Auxiliar Horas de Trabajo
Más detallesTema 4. Excepciones en Java
Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer
Más detallesTambién añado a la clase Libro los siguientes métodos: (que programaré más adelante)
1.Creación de la capa de negocios La capa del Dominio de Negocios consta de una clase creada a partir de la tabla Libro a la que le he añadido los atributos no persistentes: CodPais, artic y digcontrol.
Más detallesTema 3. Programación orientada a objetos en Java (Parte 1)
Programación en Java Tema 3. Programación orientada a objetos en Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Clases y objetos (I) Clase Cojunto de datos (atributos) y funciones (métodos)
Más detallesTest : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:
Más detalles2.2.- Paradigmas de la POO
2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier
Más detallesLo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.
Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de
Más detallesTema 7: Polimorfismo. Índice
Tema 7: Polimorfismo Antonio J. Sierra Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos. Recursividad. Control de acceso. Static. Final. Argumento
Más detallesNIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS
1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para
Más detallesProgramación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Relación entre clases. Ejemplo de Clase: Punto !
Programación Orientada a Objetos con Java Rafael Rivera López Elementos Básicos del Lenguaje Java II Ingeniería en Sistemas Computacionales Agosto-Diciembre de 2004 Veracruz, Ver. Relación entre clases
Más detallesPOO en Java. Relaciones de composición y Herencia. Composición: clase Círculo. Composición. Herencia: La palabra reservada extends
Relaciones de composición y Herencia POO en Java Características: Composición tiene un Herencia es un Polimorfismo. Abstracción. Clases y objetos. Java Arrays y Cadenas 1 Java Arrays y Cadenas 2 Composición
Más detallesb) Qué tipo de variable son las de la línea 6? Cuál es su visibilidad? Explique su
Universidad de La Laguna. Escuela Técnica Superior de Ingeniería Informática Tercero del Grado de Informática LENGUAJES Y PARADIGMAS DE PROGRAMACION. SEGUNDA PARTE 5 páginas Nombre: Alu: 1. Cuál es la
Más detallesEstructura de las Aplicaciones Orientadas a Objetos Herencia de clases
Estructura de las Aplicaciones Orientadas a Objetos Herencia de clases Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense
Más detallesConceptos de Programación Orientada a Objetos
Paradigmas de programación Prog. orientada a objetos Conceptos de Programación Orientada a Objetos Abstracción de Programación estructurada Programación imperativa 2 Programación estructurada (I) Programación
Más detalles1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)
. Sobrecarga de operadores. unarios Operador de incremento (prefijo). Devolución de objetos en los métodos. Retorno por referencia Sobrecarga de operadores Los operadores aceptan uno o varios operandos
Más detallesEL PAQUETE JAVA.UTIL DEL API JAVA. PRINCIPALES INTERFACES Y CLASES: STRINGTOKENIZER, DATE, CALENDAR, HASHSET, TREEMAP, TREESET...
APRENDERAPROGRAMAR.COM EL PAQUETE JAVA.UTIL DEL API JAVA. PRINCIPALES INTERFACES Y CLASES: STRINGTOKENIZER, DATE, CALENDAR, HASHSET, TREEMAP, TREESET... (CU00916C) Sección: Cursos Categoría: Lenguaje de
Más detallesPráctica sobre compartición de instancias remotas.
Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta
Más detalles1. Qué tipos de relación hay entre las siguientes clases?
Ejercicios Tema 8: Herencia 1. Qué tipos de relación hay entre las siguientes clases? Personal de la Universidad PAS Profesor 1 n Estudiante a) herencia y asociación b) herencia y dependencia c) dependencia
Más detallesProgramación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!
Más detallesTema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Más detallesEstructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo
Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense
Más detallesMASTER PROFESIONAL C# 5 Y ASP.NET MVC 5
MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5 TEMARIO MODULO I. EL LENGUAJE C# 5 Introducción al desarrollo de soluciones informáticas. El Framework.NET. o Descripción de la plataforma. o Las especificaciones
Más detallesComputación Avanzada Clase 3. Mauricio Hidalgo Barrientos
Computación Avanzada Clase 3 Introducción a la Programación Orientada a Objetos (POO) Definición de Programación Orientada a Objetos Qué es la POO? Según Wikipedia: POO es un paradigma de programación
Más detallesPruebas de unidad con JUnit
Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro
Más detallesUNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Programación Orientada a Objetos Ubicación: Cuarto Semestre Clave: 2087 Horas
Más detallesProgramación Orientada a Eventos
Programación Orientada a Eventos Técnicas de Programación Santiago Pavón V:2012.03.13 Programas Secuénciales El flujo de ejecución del programa sigue la secuencia de sentencias que lo forman. El estado
Más detallesPráctica 2: Java Remote Method Invocation (RMI)
Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es
Más detallesIntroducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4
Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando
Más detallesPatrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte.
Más detallesPatrón Fábrica Abstracta. Julio Ariel Hurtado Alegría Ingeniería de Software II 2015
Patrón Fábrica Abstracta Julio Ariel Hurtado Alegría Ingeniería de Software II 2015 Contenido Descripción General Problema Solución Participantes Ejemplo: Fábrica de Carros Ejemplo: RelojVisual 2 Descripción
Más detalles1. Cuántas sentencias hay en la secuencia principal del siguiente programa?
1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.
Más detalles