Introducción a la Programación en Java

Documentos relacionados

Introducción a la programación. Java

Java y Eclipse. Lenguajes y Entornos de Programación Libre

Tema 1. Java: Conceptos generales

Programación en Java. Temario. David Contreras Bárcena

INF 473 Desarrollo de Aplicaciones en

JAVA 7 Los fundamentos del lenguaje Java

Desarrollo de Aplicaciones Empresariales en Java INTRODUCCIÓN A JAVA

Programación Interactiva Introducción a Java. Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle

Tema 2: La Tecnología Java

Java en 2 horas. Rodrigo Santamaría

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA

INTRODUCCIÓN A JAVA. Índice

1. HISTORIA 2. QUÉ ES JAVA? 3. DESCARGA 4. INSTALACIÓN EN WINDOWS 5. MI PRIMER PROGRAMA

Introducción a Java LSUB. 30 de enero de 2013 GSYC

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE

Los requisitos del software son los mismos en WWW

PROGRAMACION ORIENTADA A OBJETOS EN C++

Principios de Computadoras II

Introducción a la Tecnología

2.2 Nombres, Ligado y Ámbito

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Módulo: ENTORNOS DE DESARROLLO C.F.G.S. : DESARROLLO DE APLICACIONES WEB. Marca el profesor que tengas asignado: Fran [ ] José Luis [ ]

Programación Java. M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California

Tema 1. Introducción a JAVA

Tema 2 Introducción a la Programación en C.

1

TECNOLOGÍAS DE DESARROLLO: JAVA

Instituto Schneider Electric de Formación

Pontificia Universidad Católica del Ecuador

Objetivos y Temario CURSO MySQL 5

Revista Digital Universitaria. 10 de agosto 2004 Volumen 5 Número 7 ISSN:

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

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

EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES

Características generales del lenguaje Java. María a Consuelo Franky

Diseño arquitectónico 1ª edición (2002)

JAVA. 40 horas 60 días

INTRODUCCIÓN N A LAS APLICACIONES WEB Y TECNOLOGÍA A JAVA

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Lenguaje de Programación

Objetivo de aprendizaje del tema

Seminario de Java. Contenido

Índice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

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

Java es el lenguaje de programación que

Bloque III. Herramientas

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Java Básico. Introducción a Java. Copyright

Noticias RED Remisión electrónica de documentos

Introducción al lenguaje de programación java

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

Programador en Plataforma Java y XML

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

UNIVERSIDAD DR. JOSE MATIAS DELGADO

C.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª

INDICE Capitulo 1. Fundamentos de Java Capitulo 2. Clases y POO

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES RED DIGITAL DE SERVICIOS INTEGRADOS (RDSI) ESTRUCTURA GENERALES

1. INTRODUCCIÓN El lenguaje de Programación Java. Características del lenguaje. 8 A. García-Beltrán y J.M. Arranz

ACTA DE CONSEJO DE FACULTAD/DEPTO./CENTRO:

Sistemas Distribuidos: Migración de Procesos

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Objetos de aprendizaje: Computadora

Estudio comparativo de distintos lenguajes de programación n orientados a objeto



1. Aplicaciones del J2SE SDK1.4.2 de Sun.

5 C A P I T U L O. Programacion orientada a objetos con Java. 5.1 Introduccion a Java Caracteristicas

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Bloque II. Herramientas

Módulo 2: JAVA Y SU ENTORNO DE TRABAJO 2-1

La Herencia: Teoría (1)

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

Introducción a la Operación de Computadoras Personales

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

Global: Se puede acceder a él desde cualquier tipo de plataforma, usando cualquier navegador y desde cualquier parte del mundo.

Introducción a los Sistemas Operativos

Curso: Programación con JAVA SE Estándar Edition.

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Técnico Superior en Programación con Java SE Standard Edition

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

VISUAL BASIC.NET. NIVEL COMPLETO

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java. Mtro. Manuel Suárez Gutiérrez

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

Procesamiento de documentos XML.

U.T.4.EL ENTORNO DE DESARROLLO

Introducción n a Apache Tomcat 5.5

Compilación y ejecución de programas en Java.

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

Evaluación Diagnóstico puesta en común. Escuela Técnica ORT - TIC

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. diplomado

Programación Orientada a Objetos (POO)

Visual Basic.net Completo

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I)

III Jornadas de Tecnología Java. Java Destilado. Francisco Morero Peyrona Sun Ambassador Sun Awarded Engineer

Transcripción:

Introducción a la Programación en Java Introducción Ángel Lucas González Martínez Jaime Ramírez DLSIIS. Facultad de Informática Universidad Politécnica de Madrid 1 Contenidos Introducción a la Programación OO Tipos de Desarrollo Orientado al Proceso Orientado a Objetos Qué es un Objeto? Separación entre Interfaz e Implementación Introducción a la plataforma Java 2

Tipos de desarrollos Desarrollo orientado al proceso: Análisis: Descomposición en subtareas (topdown): Problema: "Preparar un café con leche" 1. Hacer café. 1.1. Preparar la cafetera. 1.2. Encender la cafetera. 2. Calentar la leche. 3. Mezclar el café con la leche en una taza. 4. Echar el azúcar en la taza. 3 Tipos de desarrollos Desarrollo orientado al proceso (cont.): Diseño: La solución se formula en términos de subprogramas organizados jerárquicamente. Cada subprograma resuelve una subtarea. 4

Tipos de desarrollos Enunciado de problema: El problema consiste en gestionar las peticiones de préstamos de libros que llegan a una biblioteca. El proceso a seguir consiste en leer esta petición, consultar si está disponible dicho libro en la biblioteca, en cuyo caso se tratará la petición generando un informe de préstamo que se guardará hasta la posterior devolución del libro. En caso de que el libro no esté disponible en la biblioteca o esté prestado a otra persona, se rechazará esta petición. 5 Ejemplo de diseño orientado al proceso Tipos de desarrollos 6

Tipos de desarrollos Crítica al desarrollo orientado al proceso: Demasiada distancia entre los datos y los procesos Complica la comprensión de las soluciones. Eleva el coste de los cambios que afectan a la abstracción de datos. 7 Tipos de desarrollos Desarrollo orientado al objeto: Descomposición en objetos especializados en ciertas operaciones (declaradas en su interfaz). Cada objeto encapsula: sus atributos (datos). la implementación de las operaciones que sabe hacer. Los objetos se comunican mediante mensajes. Resolución por colaboración. 8

Tipos de desarrollos Ejemplo de diseño O.O. :Stock 1: Ok := pedir(libro) 2: Ok :=Verificar_Situación (libro) :GestorPréstamos : Encargado 3: Registrar_Préstamo(libro) :Préstamos 9 Tipos de desarrollos Ventajas del desarrollo orientado al objeto: Los cambios están más localizados. Se facilita más la reutilización y la extensión del código. Se evita más la duplicidad de código gracias a la herencia. Resulta más natural (?). 10

Qué es un objeto? Un objeto representa una entidad, ya sea física o conceptual, relevante para comprender el dominio del problema o para formular la solución. Entidad física: coche, persona,.. Entidad conceptual: buffer, árbol binario, 11 Los objetos son abstracciones Toda abstracción es una simplificación que representa ciertas características relevantes y olvida otras. Dependiendo del observador de un coche: un vendedor: modelo, precio, color... un mecánico: tipo de motor, transmisión, suspensión.. un ingeniero:... 12

Características de los objetos Estado: Viene determinado por los valores de sus atributos. Comportamiento: Define cómo reacciona un objeto a peticiones de otros objetos. Viene dado como una serie de servicios que el objeto proporciona a otros. 13 Cómo se define un objeto? Una clase es una familia de objetos que comparten características comunes: Su estado está determinado por los mismos atributos. Saben realizar las mismas operaciones (también llamados métodos). Un objeto es una instancia de una clase. Las clases deberán incluir al menos un método constructor. 14

Las clases y los objetos están en todas partes Vehículo Animal Platero:Animal Punto Figura (1,3) (2,2) (2,1) (5,2.5) 15 Métodos y Mensajes Métodos: definen el comportamiento de un objeto. Punto x,y: float trasladar(a,b) distancia(pto) Estado Comportamiento Invocación de métodos: paso de mensajes. trasladar(1,-1) X=2 Y=2 P1:Punto 16

Separación entre Interfaz e Implementación También llamado Principio de Ocultación de la Información. En una aplicación se debe separar lo que es más probable que cambie en el futuro (implementación) de lo que se considera más estable (interfaz), con el fin de proteger lo más posible al resto de la aplicación de futuros cambios La interfaz: Define la visión del objeto desde fuera: operaciones públicas o servicios (y sus parámetros). Cabeceras de las operaciones A modo de documentación, se debe indicar QUÉ hacen las operaciones públicas sin entrar en el CÓMO -> Contratos definidos mediante PREs y POSTs 17 Separación entre Interfaz e Implementación La encapsulación es una técnica que permite ocultar los detalles de implementación. En Ada: se declaran tipos privados y ciertos subprogramas en los paquetes En POO: se declaran como privadas ciertas operaciones y todos los atributos en las clases. La encapsulación proporciona dos tipos de protección: Protección en t. de ejecución: protege el estado interno del objeto de ser corrompido por accesos de otros objetos. Protección en t. de diseño: protege al código de otros objetos de cambios en la implementación. 18

Un poco de historia de Java Empezó a desarrollarse a finales de 1990 en Sun con el nombre de Oak. Los padres fueron J. Gosling, M. Sheridan y P. Naughton. Se buscaba un lenguaje ind. de la plataforma para productos electrónicos. Se simplificó C++ eliminando ciertos elementos problemáticos o prescindibles: punteros, liberación explícita de memoria, herencia múltiple de clases, sobrecarga de operadores, genéricos, structs, tipos enumerados, etc. Se añadieron elementos nuevos que se consideraron esenciales a la POO: interfaces 19 Un poco de historia de Java Sun Microsystems, Inc. en 1995 termina la primera versión En cada evolución se introducen nuevas funcionalidades 1 J2SE 1.2 JSE 1.6 JDK 1.0 JDK 1.1 Java 2 J2EE 1.2... Java 6 JEE 1.6 J2ME 1.3 JME 1.6 (1) http://es.wikipedia.org/wiki/lenguaje_de_programaci%c3%b3n_java#historia 20

Qué es Java? Java Lenguaje de programación Plataforma POO Robusto Seguro Desarrollo Ejecución (VM) Compilador Generador de Documentación Linux Windows... API GUI API Red... API Criptografía 21 Qué es Java? El lenguaje Java es compilado e interpretado Prog. Java Prog.java javac Prog.class bytecode Prog.class bytecode Intérprete JRE (java) JIT 01001010...01 Ejecutable 22

Qué es Java? Java proporciona independencia de HW y SO Programa Java API Java Máquina virtual Java SO 1 SO n Ordenador Ejecución menos eficiente 23 Qué es Java? Recolector de Basura Otros lenguajes como Ada, C++ requieren que el programador libere la memoria dinámica que previamente solicitó (new). En cambio, Java dispone de un recolector de basura capaz de: detectar cuando un bloque de memoria deja de ser usado, y liberar la memoria que ocupa No existen los memory leaks y los dangling pointers Ralentiza la ejecución 24

Tipos de Aplicaciones Según la interfaz que ofrecen al usuario Aplicaciones de consola Aplicaciones gráficas: basadas en AWT o SWING Aplicaciones para navegadores de Internet: Applets Según su finalidad Aplicaciones de acceso a bases de datos Aplicaciones independientes/cliente Aplicaciones servidoras: servlets y JSP 25 Plataforma J2SE 26

Principales Partes de la Plataforma Máquina Virtual. java: Intérprete de bytecode y JIT* Herramientas para el desarrollo (http://java.sun.com/): javac: Compilador javadoc: Generador de documentación jdb: depurador en línea de comandos appletviewer: visor de applets jar: Empaqueta class en ficheros jar etc. 27 Principales Partes de la Plataforma API: librerías o paquetes precompilados que puede utilizar el programador. Utilidades varias: matemáticas, clases contenedoras, manejo de fechas, etc. Swing(javax.swing) o AWT (java.awt): para GUIs Red (java.net) JDBC: para acceso a Bases de Datos. Java 2D: tratamiento de imágenes. Manejo de XML. etc. 28

Entornos de Desarrollo Incorporan un editor, un compilador, un depurador y otras herramientas. A veces permiten la creación interactiva de GUIs. Libre distribución: Eclipse, NetBeans, bluej,.. Comerciales: CodeWarrior, WebSphere Studio IBM Site Developer, Borland JBuilder,.. 29