Tema 5 Java 8. Programación Orientada a Objetos Curso 2016/2017
|
|
|
- Vanesa Aguilera Sáez
- hace 8 años
- Vistas:
Transcripción
1 Tema 5 Java 8 Programación Orientada a Objetos Curso 2016/2017
2 Contenido Motivación. Caso de estudio. Expresiones lamdba. Interfaces funcionales. Streams. Referencias a métodos y constructores. Nuevas características de las interfaces. Curso 2016/2017 Programación Orientada a Objetos 2
3 Motivación En la edad del bronce de la informática, un programador, ya jubilado, podía escribir este código en C: typedef int (*opbinaria)(int, int); int suma(int a, int b) { return a + b; } int multiplicacion(int a, int b) { return a * b; } void ejecuta(opbinaria f, int op1, int op2) { } int resultado = f(op1, op2); printf("%d\n", resultado); int main() { ejecuta(suma, 1, 2); ejecuta(multiplicacion, 1, 2); return 0; } Curso 2016/2017 Programación Orientada a Objetos 3
4 Motivación En 2013, el nieto de este programador, un experto programador certificado en Java, no podía escribir código en Java como el que escribía su abuelo En la Programación Orientada a Objetos, las variables sólo pueden contener datos. Así pues, no es posible declarar un método que acepte como parámetro una función. Los programadores han conseguido salvar esta limitación a través de patrones (recetas), como por ejemplo, el patrón estrategia. Java 8 resuelve esta limitación acercando la Programación Orientada a Objetos a la Programación Funcional. Curso 2016/2017 Programación Orientada a Objetos 4
5 Caso de estudio Ordenar una lista. La clase Collections ofrece el método static sort para ordenar listas: public static <T> void sort(list<t> lista, Comparator<T> comparador); El método sort es un ejemplo de aplicación del patrón estrategia. El método sort es un método genérico que acepta como primer parámetro una lista (interfaz java.util.list<t>) y como segundo parámetro un comparador (estrategia, interfaz java.util.comparator<t>). Curso 2016/2017 Programación Orientada a Objetos 5
6 Caso de estudio Tenemos una lista de objetos de la clase Usuario: Curso 2016/2017 Programación Orientada a Objetos 6
7 Caso de estudio La clase ComparadorUsuarios implementa un criterio de ordenación de usuarios por edad (de menor a mayor): class ComparadorUsuarios implements Comparator<Usuario> public int compare(usuario o1, Usuario o2) { } } return o1.getedad() - o2.getedad(); Patrón estrategia: esta clase está implementando una estrategia de comparación. Los objetos de esta clase son utilizados por el método sort para comparar objetos. Curso 2016/2017 Programación Orientada a Objetos 7
8 Caso de estudio Ordenamos una lista de usuarios (LinkedList<Usuario>) utilizando el criterio de ordenación anterior: Collections.sort(usuarios, new ComparadorUsuarios()); Observa que el método genérico se aplica correctamente: La colección es de tipo LinkedList<Usuario> compatible con List<Usuario>. El primer parámetro permite inferir que el tipo <T> es Usuario. El comparador es un objeto compatible con la interfaz Comparator<Usuario>. Curso 2016/2017 Programación Orientada a Objetos 8
9 Caso de estudio Problema: la necesidad de nuevos criterios de ordenación conlleva la proliferación de clases que implementen comparadores. Para evitar tener que declarar una clase que sólo va a ser utilizada en un punto del código, Java permite crear clases anómimas. Collections.sort(usuarios, new Comparator<Usuario>() public int compare(usuario o1, Usuario o2) { ); } } return o1.getnombre().compareto(o2.getnombre()); Curso 2016/2017 Programación Orientada a Objetos 9
10 Expresiones lambda Java 8 introduce el concepto de expresión lambda, también conocido como closure. Una expresión lambda es un bloque de código que representa a una función. El uso de una expresión lambda reduce la necesidad clases anónimas: Collections.sort(usuarios, (Usuario o1, Usuario o2) -> { ); } return o2.getnombre().compare(o1.getnombre()); Curso 2016/2017 Programación Orientada a Objetos 10
11 Expresiones lambda La sintaxis de una expresión lambda se puede simplificar cuando se conocen los tipos de los parámetros y el bloque de código es una sola sentencia: Collections.sort(usuarios, (o1, o2) -> o2.getedad() - o1.getedad()); El compilador conoce que el segundo parámetro es de tipo Comparator<Usuario> y contiene un solo método con la siguiente signatura: int compare(usuario o1, Usuario o2); El tipo T se infiere del tipo de la lista (Usuario). Por tanto, no es necesario indicar el tipo de los parámetros. La segunda parte de la expresión es un valor entero, el tipo de retorno del método compare. Curso 2016/2017 Programación Orientada a Objetos 11
12 Expresiones lambda Las expresiones lambda tienen acceso a las variables y atributos del contexto del código: Variables locales y parámetros, siempre que éstos no sean modificados después de la declaración de la expresión lambda. Acceso a atributos, que sean visibles, sin restricción. Ejemplo: Hace uso de un método filtro previamente declarado. public static void seleccionporrangoedad(list<usuario> lista, int edadinicio, int edadfin) { } filtro(lista, u -> u.getedad() >= edadinicio && u.getedad() < edadfin); Curso 2016/2017 Programación Orientada a Objetos 12
13 Interfaces funcionales Las expresiones lambda son bloques de código (funciones) compatibles con interfaces funcionales. Una interfaz funcional es aquella que contiene un solo método abstracto. La interfaz Comparator<T> es una interfaz interface Comparator<T> { } int compare(t o1, T o2); La es opcional. Indica al compilador el propósito de la interfaz. Curso 2016/2017 Programación Orientada a Objetos 13
14 Interfaces funcionales La librería de Java incluye varias interfaces funcionales de utilidad en el paquete java.util.function. Interfaz Predicate<T>: interface Predicate<T> { } boolean test(t obj); Representa funciones que evalúan un objeto retornando un valor booleano. Son útiles para filtrar elementos. Curso 2016/2017 Programación Orientada a Objetos 14
15 Interfaces funcionales Interfaz Function<T, R>: interface Function<T, R> { } R apply(t obj); Representa las funciones que hacen corresponder un objeto de tipo T con otro de tipo R. Interfaz Supplier<T>: interface Supplier<T> { } T get(); Representa funciones de las que podemos obtener objetos. Curso 2016/2017 Programación Orientada a Objetos 15
16 Interfaces funcionales Interfaz Consumer<T>: interface Consumer<T> { } void accept(t obj); Representa procedimientos que realizan una acción con un objeto, sin retornar nada. Ejemplo: mostrarlo por la consola, almacenarlo en disco, etc. En general, las interfaces funcionales incluidas en la librería representan un abanico amplio de funciones (estrategias). Curso 2016/2017 Programación Orientada a Objetos 16
17 Streams Un stream es una secuencia de datos que son procesados en una aplicación (java.util.stream). Las colecciones de Java ofrecen streams de los objetos que contienen (método stream). Los streams soportan dos tipos de operaciones: Intermedias: filtran o transforman la secuencia de datos. Terminales: finalizan el procesamiento, retornando un valor o realizando una acción sobre los datos. Ejemplo: contar los usuarios cuyo nombre comienza por j long contador = usuarios.stream().filter(u -> u.getnombre().startswith("j")).count(); Curso 2016/2017 Programación Orientada a Objetos 17
18 Streams Método filter: Filtra los elementos de la secuencia. Acepta como parámetro un predicado (Predicate<T>) Retorna un stream con aquellos elementos que cumplen el predicado. Método sorted: Ordena la secuencia de datos según un criterio de ordenación. Acepta como parámetro un comparador (Comparator<T>). Retorna un stream con la secuencia ordenada. El método sorted tiene una versión sobrecargada sin parámetros que aplica el orden natural de los elementos. Curso 2016/2017 Programación Orientada a Objetos 18
19 Streams Método map: Retorna un stream resultado de la correspondencia de cada elemento de la secuencia original en otro dato. Acepta como parámetro una función (Function<T, R>) Método foreach: Operación terminal que aplica una acción sobre cada objeto de la secuencia. Acepta como parámetro un consumidor (Consumer<T>) Curso 2016/2017 Programación Orientada a Objetos 19
20 Streams Métodos anymatch, nomatch y allmatch: Operaciones terminales que retornan un booleano indicando si se cumple un predicado en algún (any), ningún (no) o todos (all) los objetos del stream. Acepta como parámetro un predicado (Predicate<T>) Método count: Operación terminal que retorna el número de objetos resultado del procesamiento de la secuencia. Curso 2016/2017 Programación Orientada a Objetos 20
21 Streams Ejemplos Muestra por la consola los nombres de los usuarios: usuarios.stream().map(u -> u.getnombre()).foreach(n -> System.out.println(n)); Obtiene una lista con los nombres de los usuarios: List<String> nombres = new LinkedList<String>(); usuarios.stream().map(u -> u.getnombre()).foreach(n -> nombres.add(n)); Curso 2016/2017 Programación Orientada a Objetos 21
22 Streams Ejemplos Muestra los nombres de los usuarios en orden alfabético: usuarios.stream().sorted((u1, u2) -> u1.getnombre().compareto(u2.getnombre())).map(u -> u.getnombre()).foreach(n -> System.out.println(n)); Igual que el anterior, ordenando el flujo con los nombres: La clase String implementa el orden natural (Comparable) usuarios.stream().map(u -> u.getnombre()).sorted().foreach(n -> System.out.println(n)); Curso 2016/2017 Programación Orientada a Objetos 22
23 Streams Ejemplos Consultar si la colección tiene algún usuario mayor de 20 años: boolean resultado = usuarios.stream().anymatch(u -> u.getedad() > 20); Obtener los nombres de los usuarios que empiecen por j : Set<String> resultado = new HashSet<String>(); usuarios.stream().filter(u -> u.getnombre().startswith("j")).map(u -> u.getnombre()).foreach(n -> resultado.add(n)); Curso 2016/2017 Programación Orientada a Objetos 23
24 Referencias a métodos Un tipo de datos que corresponda con una interfaz funcional puede aceptar como valor tanto una expresión lambda como una referencia a un método ya existente. Por tanto, donde sea aceptable una expresión lambda también es aceptable la referencia a un método. En las siguientes diapositivas se ilustra el uso de referencias a métodos en el procesamiento de colecciones basado en stream. No obstante, se pueden utilizar para dar valor a cualquier variable cuyo tipo sea una interfaz funcional. Curso 2016/2017 Programación Orientada a Objetos 24
25 Referencias a métodos static Ejemplo: referencia al método static parseint de la clase Integer, que convierte una cadena en un entero. List<String> lista = Arrays.asList("30", "10", "12", "8"); lista.stream().map(integer::parseint).map(entero -> entero + 1).forEach(entero -> System.out.println(entero)); Utilizamos :: para hacer referencia al nombre del método. La expresión lambda equivalente sería: s -> Integer.parseInt(s) Curso 2016/2017 Programación Orientada a Objetos 25
26 Referencias a métodos de instancia Ejemplo: obtiene los tamaños de una lista de cadenas. Utiliza el método de instancia length() de la clase String. lista.stream().map(string::length).foreach(longitud -> System.out.println(longitud)); Se hace referencia a un método de instancia igual que si fuera un método static. La expresión lambda equivalente sería: s -> s.length() Observa que, a diferencia del método static, s es el objeto receptor de la llamada y no el parámetro del método. Curso 2016/2017 Programación Orientada a Objetos 26
27 Referencias a métodos Ejemplo: referencia a un mensaje, al método indexof que permite obtener el índice en el comienza una cadena dentro de otra cadena. Un mensaje es la aplicación de un método sobre un objeto concreto. String frase = "hola, ahora estudiamos referencias a métodos"; List<String> lista = Arrays.asList("hola", "de", "método"); lista.stream().map(frase::indexof).foreach(indice -> System.out.println(indice)); // 0, -1, 37 La referencia al método equivale a la expresión lambda: s -> frase.indexof(s) Curso 2016/2017 Programación Orientada a Objetos 27
28 Referencias a métodos Ejemplo: otro ejemplo de referencia a un mensaje que utiliza el método println de la consola. List<String> lista = Arrays.asList("hola", "hello", "hallo"); lista.stream().sorted().foreach(system.out::println); La referencia al método equivale a la expresión lambda: s -> System.out.println(s) Curso 2016/2017 Programación Orientada a Objetos 28
29 Referencias a constructores Los constructores son considerados como funciones que retornan un objeto del tipo de la clase. Por tanto, se pueden utilizar como referencias a métodos utilizando el identificador new Ejemplo: construir fechas a partir de marcas de tiempo // Marcas de tiempo, milisegundos desde 1/1/1970 List<Long> lista = Arrays.asList( l, l, l); lista.stream().map(date::new) // equivale a: map(marca -> new Date(marca)).forEach(System.out::println); En el ejemplo, se utiliza el constructor de java.util.date que construye una fecha estableciendo como parámetro una marca de tiempo (long). Curso 2016/2017 Programación Orientada a Objetos 29
30 Referencias a métodos Al establecer la referencia a un método o constructor no se identifican los parámetros. Sin embargo, Java permite sobrecarga de métodos. En caso de que una operación esté sobrecargada, se elegirá la definición que se ajuste a la interfaz funcional del tipo de la variable. En el ejemplo anterior: Date tiene varios constructores. Dado que map espera una función que acepte un long y retorne un Date, se toma el constructor que tiene como parámetro long. El método println tiene varias versiones sobrecargadas, una para cada tipo primitivo y otra para Object. En este caso utiliza la de Object, ya que Date es compatible con Object. Curso 2016/2017 Programación Orientada a Objetos 30
31 Interfaces Qué consecuencias tiene romper la especificación de una interfaz en Java? Ejemplo: introducir un nuevo método en la interfaz Comparator o en la interfaz Collection. Las interfaces suponen un importante problema de mantenimiento para el código Java: Añadir un nuevo método a una interfaz implica que todas las clases que previamente hayan implementado la interfaz ya no compilan. Los cambios en Java 8 han motivado la aparición de métodos de extensión en interfaces. Curso 2016/2017 Programación Orientada a Objetos 31
32 Interfaces métodos por defecto Un método de extensión o método por defecto es un método implementado en una interfaz. Una clase que implemente una interfaz con un método por defecto tiene dos opciones: 1) aceptar la implementación que ofrece la interfaz o 2) proporcionar otra implementación. Gracias a los métodos por defecto, ya no resulta problemático añadir operaciones a la interfaz: Curso 2016/2017 Programación Orientada a Objetos 32
33 Interfaces métodos por defecto Ejemplo: Supuesto: queremos añadir el método skip en la interfaz java.util.iterator<t> default void skip() { } if (hasnext()) next(); En el ejemplo anterior, el método skip sería equivalente a un método plantilla de una clase abstracta: un método implementado que se apoya en métodos abstractos. En general, un método por defecto puede contener cualquier código. No tiene la obligación de usar métodos de la interfaz. Curso 2016/2017 Programación Orientada a Objetos 33
34 Interfaces métodos por defecto La introducción de métodos por defecto en las interfaces ha enriquecido la funcionalidad de las colecciones en Java 8. Ejemplo: nuevos métodos en los mapas HashMap<String, Integer> mapa = new HashMap<String, Integer>(); mapa.putifabsent("juan", 10); int valor = mapa.getordefault("pedro", 0); El método putifabsent realiza la inserción si la clave no está previamente registrada en el mapa. El método getordefault retorna un valor por defecto en el caso de no existir la clave en el mapa. Curso 2016/2017 Programación Orientada a Objetos 34
35 Interfaces métodos static Dado que hasta Java 7 las interfaces no podían tener código, se han desarrollado clases de utilidad para completar la funcionalidad que ofrecen las interfaces. Ejemplo: colecciones de Java y clase Collections. La clase Collections ofrece métodos static con funcionalidad para las colecciones como ordenar listas, ofrecer vistas no modificables, etc. En Java 8 es posible implementar métodos static en las interfaces. De este modo, ya no es necesario introducir clases con funcionalidad complementaria como Collections. Curso 2016/2017 Programación Orientada a Objetos 35
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
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
Principios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo [email protected] Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación
- 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
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
Ordenació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,
FUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería
Diseñ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
Modulo 11. Clases y Objetos en Java
El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.
Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
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
Tema 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
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
INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11
Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16
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
Universidad de Managua
Universidad de Managua Introducción a la Programación Tema 7 Introducción a la programación en lenguaje C# Objetivos - Describir la estructura básica de un programa en Lenguaje C# - Explicar las estructuras
Java 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
Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans
Pág. N. 1 Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans Familia: Editorial: Autor: Tecnología de la Información y Computación Macro Manuel Torres Remon ISBN: 978-612-304-101-4 N. de
Agradecimientos. 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
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:
Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
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
Java para programadores
Java para programadores Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) [email protected] Contenidos Variables. Tipos
Métodos que devuelven valor Dado el siguiente triángulo rectángulo:
Métodos que devuelven valor Dado el siguiente triángulo rectángulo: hipotenusa altura base Para dibujar este triángulo necesitamos los siguientes datos: base y altura La base y la altura, se utilizarán
Manual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
Interfaces 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
Lenguaje de programación con JAVA
Pág. N. 1 Lenguaje de programación con JAVA Familia: Editorial: Autor: Tecnología de la información y computación Macro Eric Gustavo Coronel Castillo ISBN: 978-612-304-288-2 N. de páginas: 360 Edición:
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.
Las plantillas permiten definir funciones genéricas.
Introducción (Genericidad). Plantillas de funciones o funciones genéricas. Sintaxis de plantillas. Ejemplos de declaraciones. A tener en cuenta Un ejemplo de plantilla de funciones: Máximo de un vector.
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
Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos
Lección 2: Creando una Aplicación en Java 1. Estructura del archivo de una clase 2. Usando una clase 3. Definiendo clases fundamentos Objetivos Conocer: La forma en la cual está se está estructurado el
TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011
TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso Origen Nuevo lenguaje de propósito general de Microsoft para la plataforma.net Es el único que ha sido diseñado específicamente.net
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
2.2 Nombres, Ligado y Ámbito
2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el
C.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª
INTRODUCCIÓN A JAVA QUÉ ES JAVA Introducción ORGANIZACIÓN JME (Mobile / Wireless) JSE (Core / Desktop) JEE (Enterprise / Server) LA HISTORIA El comienzo Aparición de Internet Por qué el nombre JAVA DESARROLLO,
QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B)
APRENDERAPROGRAMAR.COM QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:
PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA
PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Angel García Beltrán y José María Arranz Santamaría Sección de Publicaciones Escuela Técnica Superior de Ingenieros Industriales Universidad Politécnica de Madrid
Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación
1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos
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
Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.
Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. [email protected] DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado
Tema 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
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
UNIVERSIDAD 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
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).
Introducció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
Centro 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...
MASTER 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
Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez
Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.
LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)
APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
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
Clase adicional 2. Estructuras básicas de control. Temas
Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño
Variables. 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
ESCUELA DE INFORMÁTICA
TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar
Programación estructurada (Introducción a lenguaje C)
Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada
Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
Programación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer [email protected] Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Computación II. Introducción a Visual Basic
Computación II Introducción a Visual Basic Introducción a Visual Basic Microsoft Visual Basic es un conjunto de herramientas que posibilitan el desarrollo de aplicaciones para Windows de una manera rápida
Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas
Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este
I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro
I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro Lectura de Datos Dentro de un applet es sencillo tomar algún dato del usuario para realizar
20483 Programación en C#
20483B 20483 Programación en C# Fabricante: Microsoft Grupo: Desarrollo Subgrupo: Microsoft Visual Studio 2012 Formación: Presencial Horas: 25 Introducción Este curso enseña a los desarrolladores las habilidades
Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /
undamentos de sintaxis en algunas instrucciones de C#.Net Dr. Ramón Roque Hernández Identificadores Un identificador le da nombre único a un elemento en un programa (ariables, procedimientos, etc.). No
Estructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
Tema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA
DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA Nombre del Módulo: PROGRAMACIÓN EN JAVASCRIPT Código: CSTI0087 total: 51 Horas Objetivo General: Crear contenido web basado en
INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Funciones como Subprogramas en C++
FUNCIONES Cuando es necesario escribir programas complicados para resolver problemas complejos, una práctica común entre los programadores es descomponer el algoritmo (el diagrama de flujo) en varias partes.
Operadores y Expresiones
Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los
Programación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Creación de un objeto. Creación de un objeto. Creación de un objeto
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 24 Veracruz, Ver. Creación de un objeto Una
PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas
PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo 1 Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general
Práctica 4: Herencia. Objetivos:
Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.
Guía práctica de estudio 04: Clases y objetos
Guía práctica de estudio 04: Clases y objetos 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 04: Clases y
Ejercicio 1. Ejercicio 2
Todos los ejercicios incluyen una parte opcional de mayor dificultad, indicada con una serie de asteriscos en función del grado de dificultad. Ejercicio 1 Este ejercicio servirá para practicar la declaración
Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;
Clases en Java ESCRIBIENDO CLASES [email protected] Declaración de clases en Java public class Alumno private int matricula; public void mostrardatos() System.out.println("Matrícula: " + matricula); Firma
Programació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
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra [email protected] Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia
Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
Conversió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
Java para no Programadores
Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen
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 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
Programación orientada a objetos. Resumen de Temas Unidad 4: Sobrecarga
Programación orientada a objetos Resumen de Temas Unidad 4: Sobrecarga 4.1 Conversión de tipos (1) Conversiones implícitas: La conversión entre tipos primitivos se realizan de modo automático de un tipo
Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia
Programación orientada a objetos Capítulo 8 Mejora de las estructuras mediante herencia Clases y objetos de DoME Modelo de objetos Modelo de clases Crítica de la v1 de DoME - Duplicación de código - Las
CONCEPTOS 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
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
Tema 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
10. Algunas clases estándar de Java (I)
Programación orientada a objetos con Java 113 10. Algunas clases estándar de Java (I) Objetivos: a) Presentar algunas de las clases predefinidas en Java b) Interpretar el código fuente de una aplicación
INDICE 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:
Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos Construyendo clases nuevas La forma más simple de una clase en Java es: Class Nombre_de_la_Clase { } /* constructores */ /* métodos
Lenguajes 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
INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO
INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 01-II 1. DATOS GENERALES SÍLABO UNIDAD DIDÁCTICA : LENGUAJES Y HERRAMIENTAS DE DESARROLLO DE SOFTWARE MÓDULO : DESARROLLO DE SOFTWARE
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í
Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.
Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria
Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C
Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS Departamento de Ciencias de la Computación e IA Subprogramas en C Objetivo Una vez que tengamos un programa que resuelva un problema concreto, ser capaces de usarlo
PRÁCTICA No 4 POO Encapsulación. El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos
Objetivos El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos Introducción En esta práctica se abarcará el concepto de la encapsulación, así
Programación con Visual C#
Programación con Visual C# Duración: 40.00 horas Descripción Visual C# es uno de los lenguajes de programación desarrollados por Microsoft, basado en la programación orientada a objetos. Es imprescindible
Tema 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
4. Operadores Operador asignación
Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre
Ejercicios de Programación Tema 7. Programación Orientada a Objetos
Ejercicios de Programación Tema 7. Programación Orientada a Objetos 22 de diciembre de 2013 1. Haz una clase llamada Agenda para manejar una agenda de teléfonos. Los objetos instanciados a partir de esa
