Programación Orientada a Objetos Curso 2015/2016. Ejercicios sobre colecciones y Java 8

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

Download "Programación Orientada a Objetos Curso 2015/2016. Ejercicios sobre colecciones y Java 8"

Transcripción

1 Programación Orientada a Objetos Curso 2015/2016 Ejercicios sobre colecciones y Java 8 Previo Descárgate de la sección de prácticas de la página web de la asignatura (dis.um.es/docencia/poo) el proyecto Colecciones-Java8 e impórtalo en Eclipse. Este proyecto contiene la implementación del problema de la subasta. El enunciado de este problema también lo puedes encontrar en la web. A la clase Usuario se le han añadido dos atributos que no se contemplan en el problema de la subasta (fecha de nacimiento y correo electrónico) para favorecer la definición de los ejercicios relacionados con las nuevas propiedades de Java 8. Colecciones ordenadas Añade al paquete pruebas del proyecto que te has descargado, la clase PruebaColeccionesOrdenadas e incluye el método main para realizar los siguientes ejercicios. Conjuntos ordenados: - Declara y construye un conjunto ordenado (TreeSet) que almacene cadenas (String). - Introduce varias cadenas en el conjunto. - Realiza un recorrido (for each) del conjunto y comprueba que el iterador retorna los elementos ordenados según el orden lexicográfico de las cadenas (orden alfabético). Este comportamiento se debe a que las cadenas implementan la interfaz Comparable<T>, es decir, tienen un orden natural. - Implementa el orden natural de la clase Usuario. El orden natural debe basarse en el orden alfabético del nombre de usuario. Utiliza el método compareto de la clase String para comparar los nombres de los usuarios. - Declara y construye un conjunto ordenado de usuarios. - Construye varios usuarios y añádelos al conjunto. Observa que si introducimos varios usuarios con el mismo nombre sólo el primero que se inserte permanece en el conjunto. Un conjunto ordenado determina que un elemento es repetido si en la comparación obtiene el valor 0. Por tanto, es recomendable que la implementación del orden natural sea consistente con la igualdad (equals). - Recorre el conjunto y muestra los usuarios. Observa que el iterador retorna los elementos según el orden natural. - Implementa un comparador de usuarios (interfaz java.util.comparator<t>) que ordene los usuarios según el orden alfabético inverso de sus nombres. - Declara y construye un conjunto ordenado de usuarios que aplique el orden implementado por el comparador anterior. Añade usuarios a la colección (método addall) y realiza un recorrido para comprobar que el orden es el correcto. - Utiliza los métodos sort de la clase Collections para ordenar la lista, según el orden natural y con el comparador de orden inverso. Muestra el contenido de la lista tras ambas ordenaciones. 1/8

2 Mapas con claves ordenadas: - Declara y construye un mapa ordenado (TreeMap) que asocie cadenas (String) con objetos usuario. - Recorre el último conjunto ordenado e inserta en el mapa los objetos del conjunto. Utiliza el nombre del usuario como clave en el mapa. - Recorre las claves del mapa ordenado (método keyset) y muestra por la consola las claves. Observa que el mapa retorna las entradas ordenadas por clave. Por defecto, utiliza el orden natural de la clase que actúa de clave (String). - Implementa un comparador de cadenas que implemente el orden alfabético inverso. Para ello utiliza el orden natural de las cadenas (método compareto). - Declara y construye un mapa ordenado que utilice el comparador. Introduce las entradas del mapa anterior al nuevo mapa. - Recorre y muestra por la consola las claves del mapa. Observa que las claves están ordenadas aplicando el orden del comparador. Ejercicios colecciones: Crea un paquete colecciones y añade una clase Utilidades que contenga los siguientes métodos de clase (static). 1. Implementa un método que tenga como parámetro un argumento de tamaño variable de tipo String y que retorne un mapa ordenado que asocie cadenas con el número de repeticiones en el parámetro del método. Por ejemplo, si es llamado con metodo("hola", "examen", "hola") retornará un mapa ordenado que asociaría a la cadena examen el valor 1 y a la cadena hola el valor Escribe un método en Java que tenga como parámetro un mapa que asocie cadenas con enteros y que devuelva un conjunto con las cadenas que tienen asociado un número par. 3. La moda es el valor (o valores) de una serie de números que más veces se repite. Por ejemplo, la moda de la serie {2, 3, 3, 3, 4, 5, 4, 6, 4 es {3, 4. En el caso de que no se repita ningún valor la serie no tiene moda. Implementa un método que reciba como parámetro una serie de números de tamaño variable y devuelva una lista que contenga la moda de dicha serie. 4. Escribe un método genérico que reciba como parámetro una colección de elementos y retorne una nueva colección formada por los elementos de la original sin repetidos. 5. Programa un método genérico que acepte como parámetro un mapa que asocie cadenas con cualquier otro tipo de datos y retorne un conjunto con los valores almacenados en el mapa 2/8

3 Java 8 Caso de estudio Supongamos que al administrador del sistema de subastas le interesa disponer de una funcionalidad que le permita ejecutar cualquier tipo de acción (por ejemplo, enviar un correo electrónico) sobre todos los usuarios registrados que satisfagan un criterio (por ejemplo, aquellos que sea su cumpleaños). Vamos a analizar diferentes alternativas para implementar esta funcionalidad. Entre estas alternativas encontraremos primero soluciones Java 7 y posteriormente la aplicación de las nuevas características de Java 8. Enfoque 1: Definir métodos de búsqueda El enfoque más simple es implementar en una clase de utilidades (clase Utils) tantos métodos diferentes como criterios de búsqueda y acciones queramos aplicar sobre los usuarios registrados. Por ejemplo, public class Utils { public static void imprimirusuariosmayoresde(list<usuario> usuarios, int edad){ for (Usuario usuario : usuarios){ if (usuario.getedad() >= edad) CRITERIO System.out.println(usuario); ACCIÓN public static void imprimirusuariosenrangoedad(list<usuario> usuarios, int edadmin, int edadmax){ for (Usuario usuario : usuarios){ if (usuario.getedad() >= edadmin && usuario.getedad() <= edadmax) System.out.println(usuario); No obstante, este enfoque no es un buen diseño dado que implementamos métodos prácticamente iguales y las condiciones de búsqueda pueden ser muy amplias y pueden ir cambiando. Enfoque 2: Definir los criterios de búsqueda en una clase separada Una mejora al código anterior consiste en definir cada criterio de búsqueda en una clase separada. De esta manera, podemos definir un método que imprima los usuarios que cumplan el criterio que se establece como parámetro: public static void imprimirusuarios(list<usuario> usuarios, Criterio criterio){ for (Usuario usuario : usuarios) if (criterio.test(usuario)) System.out.println(usuario); 3/8

4 El método imprimirusuarios es un ejemplo de aplicación del patrón estrategia. El criterio de búsqueda (estrategia) se define en una interfaz que incluye el método test. Este método recibe como parámetro un objeto de tipo Usuario y devuelve un valor boolean que indica si el usuario cumple o no el criterio de búsqueda. public interface Criterio { boolean test(usuario usuario); De esta forma, tendremos que implementar tantas clases como criterios de búsqueda necesitemos. Por ejemplo, el criterio que seleccione los usuarios jóvenes, esto es mayores de edad y menores de 35 años. public class UsuariosJovenes implements Criterio public boolean test(usuario usuario) { return usuario.getedad() >= 18 && usuario.getedad() < 35; Para imprimir los usuarios jóvenes, tendremos que pasar como parámetro al método imprimirusuarios un objeto de la clase que implementa el criterio de búsqueda (o selección) de usuarios: public class Programa { public static void main(string[] args) { LinkedList<Usuario> usuarios = new LinkedList<Usuario>();... //Se omite la creación de Usuarios e inserción en la lista Utils.imprimirUsuarios(usuarios, new UsuariosJovenes()); Enfoque 3: Utilizar clases anónimas para definir los criterios El enfoque anterior tiene el inconveniente de que se implementan muchas clases, y algunas de ellas sólo se van a utilizar en un punto del código. En lugar de crear una clase por cada criterio, se pueden utilizar clases anónimas para especificar el criterio en el momento de hacer la llamada al método imprimirusuarios: Utils.imprimirUsuarios(usuarios, new Criterio(){ public boolean test(usuario usuario){ return usuario.getedad() >= 18 && usuario.getedad() < 35; ); 4/8

5 Enfoque 4: Utilizar expresiones lambda para especificar el criterio de búsqueda (Java 8) Dado que la interfaz Criterio que hemos definido contiene un solo método (método test), es un ejemplo de interfaz funcional, que se introduce en Java 8. Una característica útil de este tipo de interfaz es que cuando se implementa se puede omitir el nombre del método y el tipo de la interfaz. Así, en lugar de utilizar una clase anónima, cuando se llama al método imprimirusuarios, se puede pasar como parámetro una expresión lambda que especifica el comportamiento del método test de la interfaz. Utils.imprimirUsuarios(usuarios, usuario -> usuario.getedad() >= 18 && usuario.getedad() < 35); Enfoque 5: Utilizar las interfaces funcionales predefinidas (interfaz Predicate) La librería de Java proporciona varias interfaces funcionales de utilidad en el paquete java.util.function, como por ejemplo, la interfaz Predicate<T>. public interface Predicate<T> { boolean test(t elem); La definición de esta interfaz coincide con la definición de la interfaz Criterio que hemos implementado previamente (Enfoque 2), con la diferencia de que el predicado se define de forma genérica. Puesto que el lenguaje proporciona ya este tipo de datos, no merece la pena implementar un tipo tan sencillo en nuestra aplicación y podemos reutilizar el que nos ofrece la librería de Java. Así, la versión del método imprimirusuario quedaría como sigue: public static void imprimirusuariospredicado(list<usuario> usuarios, Predicate<Usuario> criterio){ for (Usuario usuario : usuarios) if (criterio.test(usuario)) System.out.println(usuario); La forma de invocar a esta versión de imprimirusuarios es igual a la utilizada en el enfoque 4, en el que hacíamos uso de las expresiones lambda. Utils.imprimirUsuariosPredicado(usuarios, usuario -> usuario.getedad() >= 18 && usuario.getedad() < 35); Enfoque 6: Utilizar expresiones lambda para especificar la acción (interfaz Consumer) La funcionalidad planteada en el caso de estudio requería que se pudiera aplicar cualquier acción sobre los usuarios que cumplieran un determinado criterio. En el código implementado hasta el momento, se puede especificar el criterio de selección de los 5/8

6 usuarios, pero la acción a realizar es fija, imprimir el usuario. Podemos generalizar el método de manera que la acción que se va a aplicar, sobre los usuarios que cumplen el criterio de selección, también pueda ser establecida en el método. Para especificar la acción a realizar sobre los objetos seleccionados se puede utilizar otra de las interfaces funcionales predefinidas, la interfaz java.util.function.consumer<t>. Esta interfaz contiene el método void accept(t t), que acepta un objeto y aplica alguna acción sobre él, sin retornar nada, por ejemplo, imprimir en la consola. Utilizando esta interfaz el método imprimirusuarios se puede generalizar como sigue: public static void procesarusuarios(list<usuario> usuarios, Predicate<Usuario> criterio, Consumer<Usuario> accion){ for (Usuario usuario : usuarios){ if (criterio.test(usuario)) accion.accept(usuario); La forma de invocar a este método, utilizando expresiones lambda, para imprimir todos los usuarios jóvenes registrados sería: Utils.procesarUsuarios(usuarios, usuario -> usuario.getedad() >= 18 && usuario.getedad() < 35, usuario -> System.out.println(usuario)); De forma alternativa, cuando el parámetro es una interfaz funcional, en lugar de una expresión lambda, también es posible pasar como parámetro una referencia a un método. Así, la llamada también podría hacerse de la siguiente forma: Utils.procesarUsuarios(usuarios, usuario -> usuario.getedad() >= 18 && usuario.getedad() < 35, System.out::println); La invocación al método procesarusuarios realiza las siguientes acciones: 1) Obtiene un usuario de la colección de usuarios. 2) Comprueba si cumple la condición establecida en el predicado (Predicate). 3) Ejecuta una acción sobre el objeto que cumple el predicado (Consumer), en este caso mostrarlo en la consola. Enfoque 7: Utilizar streams para procesar los objetos de una colección En lugar de definir un método que se encargue de procesar los objetos de la colección utilizando un iterador, se puede utilizar un stream (java.util.stream) de la colección (secuencia de objetos que contiene) y las operaciones que proporciona. Estas operaciones incluyen, entre otras, las funcionalidades para filtrar objetos (filter) y para aplicar una misma acción sobre todos los objetos de la secuencia (foreach). Así, no necesitaríamos la clase Utils y la funcionalidad para imprimir todos los usuarios jóvenes quedaría como sigue: 6/8

7 usuarios.stream().filter(usuario -> usuario.getedad() >= 18 && usuario.getedad() < 35).forEach(usuario -> System.out.println (usuario)); Los streams también proporcionan, entre otras, una operación para obtener un nuevo stream con el resultado de la correspondencia del objeto original con otro (map). Así, la funcionalidad para imprimir el de todos los usuarios jóvenes sería: usuarios.stream().filter(usuario -> usuario.getedad() >= 18 && usuario.getedad() < 35).map(usuario -> usuario.get ()).foreach( -> System.out.println ( )); Ejercicios sobre streams NOTA: En la sección anterior no se utilizan todas las operaciones soportadas por los streams (filter, sorted, map, foreach, anymatch, nomatch, allmatch, count). Revisa las transparencias del Tema 6 de teoría para completar la información que aquí aparece y poder implementar los ejercicios propuestos. Crea la clase PruebaStreams en el paquete pruebas con un método main en el que implementaremos la siguiente funcionalidad utilizando los streams y las expresiones lambda. Previo: Copia en el método main de la clase PruebaStreams, el código del programa de la clase PruebaSubasta hasta la creación, e inserción de elementos, en la lista de usuarios. Crea e inserta las subastas en otra colección. 1) Cuenta los usuarios que tienen cuenta de correo en Gmail. Muestra el resultado en la consola. 2) Mostrar por la consola los nombres de usuarios que sean propietarios de subastas ordenados por orden alfabético inverso. 3) Mostrar por la consola los nombres de los productos cuyas subastas hayan recibido alguna puja ordenados alfabéticamente. 4) Mostrar por la consola el nombre de los productos de aquellas subastas que hayan recibido pujas superiores a 50 euros. 5) Consultar si hay usuarios que hayan ganado alguna subasta y que sean propietarios de subastas. 6) Crea un conjunto vacío de pujas, añade a ese conjunto todas las pujas que se hayan realizado en las subastas. 7/8

8 Ejercicios de exámenes anteriores relacionados con Java 8 (Febrero 2015) Utilizando el modelo de procesamiento basado en streams, y supuesta una variable List<Integer> datos; muestra por la consola el número de elementos de la colección que estén comprendidos entre 0 y 10, ambos inclusive. (Junio 2015) Declara un método que pueda aceptar como parámetro un constructor sin argumentos de cualquier colección de cadenas. El método retornará una colección obtenida a partir del constructor con un solo elemento, la cadena vacía. Escribe un ejemplo que muestre el uso de este método. (Julio 2015) Ejercicios: a) Define una variable de tipo predicado que evalúe si un entero es par. b) Utilizando el modelo de procesamiento basado en streams, y el predicado anterior, obtén una lista que contenga sólo los números pares, ordenados de menor a mayor, de una lista de enteros. 8/8

Programación Orientada a Objetos Curso 2014/2015. Práctica 11

Programación Orientada a Objetos Curso 2014/2015. Práctica 11 Objetivos formativos Previo Programación Orientada a Objetos Curso 2014/2015 Práctica 11 - Nuevas características de Java 8: expresiones lambda, interfaces funcionales, streams. - Crea el paquete practica11

Más detalles

Tema 5 Java 8. Programación Orientada a Objetos Curso 2016/2017

Tema 5 Java 8. Programación Orientada a Objetos Curso 2016/2017 Tema 5 Java 8 Programación Orientada a Objetos Curso 2016/2017 Contenido Motivación. Caso de estudio. Expresiones lamdba. Interfaces funcionales. Streams. Referencias a métodos y constructores. Nuevas

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

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

Ejercicio 1 (proyecto prlistas, paquete listas)

Ejercicio 1 (proyecto prlistas, paquete listas) PRÁCTICA 3 Curso 2004-05 En esta práctica construiremos y usaremos dos paquetes: el primero, listas, que implementa listas genéricas y el segundo, colas, que implementa colas y colas de prioridades genéricas.

Más detalles

INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)

INTERFACE 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 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

Estructuras de control selectivas

Estructuras de control selectivas Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos

Más detalles

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) Sección: Cursos Categoría: Lenguaje de programación Java nivel

Más detalles

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá

Más detalles

Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad. Guillermo Román Díez

Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad. Guillermo Román Díez Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción a la Recursión

Más detalles

Prueba N o 1. Programación II

Prueba N o 1. Programación II UNIVERSIDAD ANDRÉS BELLO 1 Prueba N o 1 Programación II Profesores: José Luis Allende y Carlos Beyzaga. Fecha: 10 de Septiembre de 2013 Nombre: Nota: Instrucciones: Coloque su nombre a todas las hojas.

Más detalles

Ejercicio de Programación Orientada a Objetos Curso 2016/2017 Cursos

Ejercicio de Programación Orientada a Objetos Curso 2016/2017 Cursos Ejercicio de Programación Orientada a Objetos Curso 2016/2017 Cursos Previo. Gestión del tiempo. Para la realización del examen es necesario utilizar fechas. A continuación se dan algunas indicaciones:

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

Tema 4 Colecciones en Java. Programación Orientada a Objetos Curso 2013/2014

Tema 4 Colecciones en Java. Programación Orientada a Objetos Curso 2013/2014 Tema 4 Colecciones en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Colecciones (paquete java.util): Interfaz Collection Interfaz List Interfaz Set InterfazMap Copia de

Más detalles

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4 Trabajo Práctico Nº 4 Ejercicios Teóricos 1. Indique si las siguientes afirmaciones son verdaderas o falsas a. La programación orientada a objetos hace uso de clases y envío de mensajes entre objetos..

Más detalles

Examen de Programación II (Ingeniería Informática)

Examen de Programación II (Ingeniería Informática) Examen de Programación II (Ingeniería Informática) Septiembre 2010 1) Lenguaje C (2 puntos) Escribir el módulo "elimina_substring" (ficheros elimina_substring.h y elimina_substring.c) que defina una única

Más detalles

Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java

Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java Profesor: Jorge Escalona / Tobías Bolívar Email: [email protected] / [email protected] Web: http://estructuradatos.tripod.com 1 Qué

Más detalles

Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1

Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1 Interfaces Amparo López Gaona Septiembre de 2008 Amparo López Gaona () Interfaces Septiembre de 2008 1 / 1 Interfaces Las interfaces Java permiten al diseñador de clases establecer su forma definiendo

Más detalles

Entiendo los métodos de Java equals y hashcode

Entiendo los métodos de Java equals y hashcode Todos los días cuando programamos usamos objetos y en muchas ocasiones necesitamos comparar unos con otros. Para ello en muchas ocasiones usamos los métodos de de Java equals y hashcode. Estos métodos

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

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual [email protected]! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar

Más detalles

Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez

Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común

Más detalles

INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C)

INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C) APRENDERAPROGRAMAR.COM INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado

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 [email protected]! Herencia! Superclase/subclase! super! Modificador protected! Redefinicion de métodos!

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. Tema 8. Tratamientos Secuenciales II

FUNDAMENTOS DE PROGRAMACIÓN. Tema 8. Tratamientos Secuenciales II FUNDAMENTOS DE PROGRAMACIÓN Curso 2015/16 Versión: 1.0.1 Tema 8. Tratamientos Secuenciales II Autores: Miguel Toro, José Riquelme y Mariano González Revisión: profesores de la asignatura Tiempo estimado:

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

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) APRENDERAPROGRAMAR.COM INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) Sección: Cursos Categoría: Lenguaje de programación Java

Más detalles

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Conceptos 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 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 [email protected] Objetivos Aprender a crear y utilizar clases y métodos abstractos

Más detalles

Programación Concurrente y Distribuida Ingeniería Informática Facultad de Ciencias Universidad de Cantabria.

Programación Concurrente y Distribuida Ingeniería Informática Facultad de Ciencias Universidad de Cantabria. Programación Concurrente y Distribuida Ingeniería Informática Facultad de Ciencias Universidad de Cantabria. Documento: Práctica 1 Sopa de Letras Autores: Fecha: Laura Barros J.M. Drake 5-6 Octubre Objetivo

Más detalles

PROGRAMACIÓN GENÉRICA

PROGRAMACIÓN GENÉRICA PROGRAMACIÓN GENÉRICA Lenguajes de Programación - Orientación a Objetos: Progr. Genérica 1 Programación genérica Objetivo: escribir algoritmos genéricos, independientes de las clases concretas de los datos

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

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores. Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo

Más detalles

Construcciones del Lenguaje Java

Construcciones del Lenguaje Java Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.

Más detalles

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java Dr. (c) Noé Alejandro Castro Sánchez Programas Java Applets Pueden correr en navegadores Web Agregan funcionalidad a páginas Web Se llega a restringir su funcionalidad (e. g., no pueden:

Más detalles

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

1. 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

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C) APRENDERAPROGRAMAR.COM REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I Fecha revisión: 2039 Resumen:

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

Bloque II. Elementos del lenguaje de programación Java

Bloque II. Elementos del lenguaje de programación Java Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida

Más detalles

Sacándole Partido a JUnit Módulo 1. Introducción a las Pruebas

Sacándole Partido a JUnit Módulo 1. Introducción a las Pruebas Sacándole Partido a JUnit Módulo 1. Introducción a las Pruebas Ejercicios Resueltos Ejercicio 03. El siguiente código muestra para calcular la potencia de dos de cualquier número con cualquier cantidad

Más detalles

A3F. Polimorfismo. Carlos Fontela

A3F. Polimorfismo. Carlos Fontela Polimorfismo Carlos Fontela [email protected] Temario Métodos virtuales Métodos abstractos Polimorfismo como concepto Interfaces Clases internas 2c2010 2 cb := CuentaBancaria new. cc := CuentaCorriente

Más detalles

PROGRAMACIÓN EN JAVA

PROGRAMACIÓN EN JAVA SISTEMAS INFORMÁTICOS INDUSTRIALES curso 2007-2008 PROGRAMACIÓN EN JAVA PRÁCTICA 2: Jerarquía de clases en Java Objetivos Implementar una jerarquía de clases para crear una aplicación en Java Comprender

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN Curso: 2013/14 EXAMEN PARA ALUMNOS PRESENTADOS AL PRIMER PARCIAL PRIMERA PARTE. EJERCICIO 1 Cuestiones (1 punto)

FUNDAMENTOS 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 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

Tema 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. 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 detalles

EL PAQUETE JAVA.UTIL DEL API JAVA. PRINCIPALES INTERFACES Y CLASES: STRINGTOKENIZER, DATE, CALENDAR, HASHSET, TREEMAP, TREESET...

EL 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 detalles

Tema: Introducción al IDE de Microsoft Visual C#.

Tema: Introducción al IDE de Microsoft Visual C#. Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más

Más detalles

LA CLASE VECTOR DEL API JAVA. MÉTODOS TRIMTOSIZE Y ENSURECAPACITY EJEMPLO Y EJERCICIOS RESUELTOS. (CU00922C)

LA CLASE VECTOR DEL API JAVA. MÉTODOS TRIMTOSIZE Y ENSURECAPACITY EJEMPLO Y EJERCICIOS RESUELTOS. (CU00922C) APRENDERAPROGRAMAR.COM LA CLASE VECTOR DEL API JAVA. MÉTODOS TRIMTOSIZE Y ENSURECAPACITY EJEMPLO Y EJERCICIOS RESUELTOS. (CU00922C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado

Más detalles

Introducción al lenguaje Java

Introducción al lenguaje Java Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno

Más detalles

Tutorial básico del entorno de desarrollo Eclipse.

Tutorial básico del entorno de desarrollo Eclipse. Tutorial básico del entorno de desarrollo Eclipse. Arrancar Eclipse. Después de descomprimir la aplicación, dar doble clic sobre el ícono ejecutable para arrancar la aplicación. En caso de que se presente

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

Examen de Métodos de Programación Ingeniería Informática Primera Parte

Examen de Métodos de Programación Ingeniería Informática Primera Parte Examen de Métodos de Programación Ingeniería Informática Primera Parte Cuestión 1. (2 puntos) Se pretende guardar y recuperar matrices de números reales de cualquier dimensión en ficheros binarios de tipos

Más detalles

Unidad Didáctica 6. Tipos List y Set con tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos. Versión 1.0.

Unidad Didáctica 6. Tipos List y Set con tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos. Versión 1.0. Unidad Didáctica 6 Tipos List y Set con tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Estructuras de datos predefinidas en Java (Colecciones)

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

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays

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

Curso de Java Introducción a la Programación I

Curso de Java Introducción a la Programación I Curso de Java Introducción a la Programación I Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Sintaxis Java 2 Salida de datos 3 Entrada de datos Índice 1 Sintaxis Java

Más detalles

Funciones como parámetros, funciones como resultados. Introducción a la Computación Patricia Borensztejn Clase 26

Funciones como parámetros, funciones como resultados. Introducción a la Computación Patricia Borensztejn Clase 26 Funciones como parámetros, funciones como resultados Introducción a la Computación Patricia Borensztejn Clase 26 Funciones de orden superior Se llama así a la técnica que permite pasar funciones como parámetros

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

Más detalles

El método Sort, nos permitirá ordenar cualquier cosa, que herede de la interfaz IComparable y que implemente el método CompareTo,

El método Sort, nos permitirá ordenar cualquier cosa, que herede de la interfaz IComparable y que implemente el método CompareTo, Delegados en C# Lo primero que te preguntas es que tipo de problema resuelven los delegados, o sea para que debería aprender a usar delegados? Para responderte esta pregunta, lo mejor es ilustrarlo con

Más detalles

15. Parámetros o argumentos

15. 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 detalles

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java Introducción a la programación orientada a objetos Curso de Programación en Java! Fundamentos de la POO! Comportamiento y estado! Clases y objetos en Java Contenidos Luis Guerra [email protected] Enero 2012

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

ING1310 Introducción a la Computación. Python. Conceptos Básicos. Carlos Reveco

ING1310 Introducción a la Computación. Python. Conceptos Básicos. Carlos Reveco ING1310 Introducción a la Computación Python Conceptos Básicos Carlos Reveco [email protected] [email protected] Facultad de Ingeniería/Universidad de los Andes/Chile Rev : 254 C.Reveco Facultad

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación

Más detalles

El método main de la clase PruebaArbol, empieza creando una instancia de un objeto Árbol vacío y asigna su referencia a la variable árbol

El método main de la clase PruebaArbol, empieza creando una instancia de un objeto Árbol vacío y asigna su referencia a la variable árbol Árboles Las listas enlazadas, pilas y colas son estructuras de datos lineales (es decir, secuencias). Un árbol es una estructura de datos bidimensional no lineal, con propiedades especiales. Los nodos

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

// Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal

// Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal INTERFACE interface IAnimal { static final int valor=5; // Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal public void comunicarse(); abstract class Animal

Más detalles

La implementación se realizará en Java, a partir de un diseño orientado a objetos del problema descrito.

La implementación se realizará en Java, a partir de un diseño orientado a objetos del problema descrito. CONTEXTO FUNDAMENTOS DE PROGRAMACIÓN: TRABAJO PRÁCTICO OBLIGATORIO Curso: 2013/14 CASO DE APLICACIÓN: GESTIÓN DE UNIVERSIDADES (ENTREGA 2) Versión: 1.0.1 El trabajo práctico se enmarca en el desarrollo

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN 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 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 7.- Fundamentos de la Programación Orientada a Objetos

Tema 7.- Fundamentos de la Programación Orientada a Objetos Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).

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 III La Sintaxis de Java II... 6 Estructuras de Control... 7 Estructuras de Selección... 8 Sentencia

Más detalles

Programación orientada a objetos I

Programación orientada a objetos I Introducción Programación orientada a objetos I Curso INEM. Programación en C++ Santiago Muelas Pascual [email protected] Qué es la POO? Un paradigma de programación Un paradigma es una forma de afrontar

Más detalles

5. Sentencias selectivas o condicionales

5. Sentencias selectivas o condicionales 60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado

Más detalles

Guía - Taller # 2 (JAVA)

Guía - Taller # 2 (JAVA) CEET - Distrito Capital Programa de Formación: ADSI 150752 TRIMESTRE VI Conocimiento de Conocimiento: Aplicar diversos estilos de Programación usando herramientas para Desarrollo Web Instructor: Ing. Espec.

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Fecha de efectividad: 2011-1 UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE DE UNIDAD DE APRENDIZAJE

Más detalles

Pruebas de unidad con JUnit

Pruebas 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 detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 1 Problemas, Soluciones y Programas Marcela Hernández Hoyos Solucionar un Problema = Construir un Programa Problema Programador Herramientas y Lenguajes Análisis

Más detalles

Patrones de Diseño. Patrón de comportamiento Iterator. Técnicas de Programación - Curso 2007/08

Patrones de Diseño. Patrón de comportamiento Iterator. Técnicas de Programación - Curso 2007/08 Patrones de Diseño Patrón de comportamiento Iterator Técnicas de Programación - Curso 2007/08 Propósito Proporcionar acceso secuencial a los elementos de un agregado, sin exponer su representación interna

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS TEMA3: Collections e Interfaces Manel Guerrero PROGRAMACIÓN ORIENTADA A OBJETOS Antes que nada veamos W3H1. [W1H3] Array de elementos atomicos // Como ya vimos en W1H3

Más detalles

Examen de Prácticas de Programación Ingeniería Informática

Examen de Prácticas de Programación Ingeniería Informática Examen de Prácticas de Programación Ingeniería Informática Junio 2007 1) (2 puntos) Escribir en Java la implementación de los métodos public void escribematrizenfichero(double[][] m, String nomfich)...

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

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo. Arreglos Los arreglos son estructuras de datos que consisten de elementos de datos relacionados, del mismo tipo. Los arreglos son entidades son entidades de longitud fija: conservan la misma longitud una

Más detalles

Manipulación de Cadenas Introducción a los conceptos de clase e objetos. Nadjet Bouayad-Agha Programación

Manipulación de Cadenas Introducción a los conceptos de clase e objetos. Nadjet Bouayad-Agha Programación Manipulación de Cadenas Introducción a los conceptos de clase e objetos Nadjet Bouayad-Agha Programación 2007-2008 Manipulación de Cadenas Acceder a los carácteres de una cadena Sustituir carácteres o

Más detalles

Métodos CON valor de retorno

Métodos CON valor de retorno Métodos Estáticos C# Fundamentos de Programación. Objetivos del tema: Qué es un método? Qué métodos conoces? Métodos que NO devuelven valor. Métodos que SI devuelven un valor. Paso de parámetros. Variables

Más detalles

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ OBJETIVO En este documento se presentan las construcciones básicas de orientación a objetos del lenguaje de programación C++, y recomendaciones

Más detalles

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Cualquier duda sobre el contenido de este tema se puede enviar al foro TEORIA2. 2.1.- El tipo de datos entero (byte,

Más detalles