Java en 2 horas. Rodrigo Santamaría



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

Java en 2 horas. Rodrigo Santamaría

Tema 1. Introducción a JAVA

Java en 2 horas. Rodrigo Santamaría

INTRODUCCIÓN A JAVA. Índice

Introducción al lenguaje de programación java

Programación orientada a objetos

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

El lenguaje de programación Java

Seminario de Java. Contenido

Introducción a Java LSUB. 15 de enero de 2015 GSYC

TEMA 2. Agenda. Fundamentos de JAVA

Curso de Java POO: Programación orientada a objetos

Repaso de las características más importantes de la programación Java y su adaptación a Android

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

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein Javier Navarro

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

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


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

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

Introducción al lenguaje Java

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

Programación Orientada a Objetos con Java

Java Inicial (20 horas)

Pruebas de unidad con JUnit

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.

Introducción a la Programación en Java. Page 1

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

Como crear una aplicación con Java y Eclipse Fecha Lunes, 16 abril a las 19:49:51 Tema Java

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

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Programador en Plataforma Java y XML

Temario Iniciación a Java J2SE para web

JAVA PARA PRINCIPIANTES

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

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

Práctica 2: Java Remote Method Invocation (RMI)

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

Java RMI. Sistemas Distribuidos Rodrigo Santamaría

Clase Práctica Nº 1 ED 2015

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Benemérita Universidad Autónoma del Estado de Puebla

INF 473 Desarrollo de Aplicaciones en

Universidad de Cantabria

Modelo de Objetos Distribuidos

Introducción a la Programación Orientada a Objetos

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ESCUELA DE INGENIERIA EN SISTEMAS

Prácticas de Programación

2.1. Introducción al lenguaje Java

Java. Mtro. Manuel Suárez Gutiérrez

Programación en Java. Programación en OO

1. Qué tipos de relación hay entre las siguientes clases?

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

(volver a Tabla de Contenidos)

Tema: Introducción a Java y Netbeans

Arquitectura y Lenguaje Java

Programación Orientada a Objetos. Java: Excepciones

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

Tema 2: La Tecnología Java

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

2.2.- Paradigmas de la POO

El Concepto De Objeto y Clase

Hola Mundo en Java 1.5 en Windows XP - DrJava

Programación Orientada a Objetos en Java

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

JAVA 1. Introducción

1. Visión general de RMI

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

Ejercicios del tema 7: Clases y objetos

Módulo 1 El lenguaje Java

Introducción a la programación orientada a objetos

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

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

Programación interactiva. Oscar Bedoya

TÉCNICAS DE PROGRAMACIÓN Lenguaje Java. Introducción a Java Daniel Finol

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

Lenguajes de Programación Curso Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces Clases abstractas 2

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Arquitectura Cliente/Servidor. Invocación de Métodos Remotos RMI: Remote Method Invocation. Llamadas a Métodos Remotos

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007

GUI A D E I NSTALA CIO N D E AX IS

9. Objetos y clases Clases

Julio C. Sandria Reynoso

Desarrollo de Aplicaciones Empresariales en Java INTRODUCCIÓN A JAVA

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Guía de Instalación de la JDK y del Eclipse

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

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

19. Packages o paquetes

Programación Orientada a Objetos en Java

Elementos léxicos del lenguaje de programación Java

INTRODUCCION A LA PROGRAMACION EN JAVA

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

Introducción a Java. Diseño y Programación Orientados a Objetos 1

RMI [Remote Method Invocation]

Transcripción:

+ Java en 2 horas Rodrigo Santamaría

+ Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión interna de la reserva de memoria Desde 2007, el Java de Sun es software libre Salvo las bibliotecas de clases para ejecutar programas java

+ Bytecode 3 Un programa Java no se compila a código de la máquina, si no a bytecode Código intermedio entre el código máquina y el lenguaje de alto nivel que permite que un programa Java corra en distintas plataformas sin recompilar Tan sólo es necesario tener instalada la Máquina Virtual de Java (JVM), que se encarga de ejecutar las instrucciones del bytecode

+ JRE y JDK 4 Java Runtime Environment (JRE) Contiene la JVM en su versión más simple Suele incluir las bibliotecas de clases estándar (API de Java, o J2SE, hoy Java Standard Edition o JSE) Vamos por la versión 1.6 Java Development Kit (JDK) JRE para desarrollar programas java API de Java (código fuente libre) Compilador de Java (javac), generador de documentación (javadoc), visor de applets, depurador, etc.

+ Hola Mundo 5 clase class Hola método public static void main(string[] args) System.out.println("Hola, mundo."); Tipos básicos como en C javac Hola.java java Hola

+ Sintaxis básica 6 Control de flujo Tipos básicos Arrays Idéntico a C Operadores aritméticos Formato de cadenas: variables entre texto String cad= hola, +nombre+, buenos días ; Palabras clave particulares: package, class, public, private, extends, implements, this...

+ Entornos de Desarrollo Integrado (IDE) 7 Integran bibliotecas, compilador, intérprete, depurador, editor y otros complementos en un solo entorno: Netbeans Eclipse IntelliJ IDEA Anjuta En esta asignatura utilizaremos Eclipse Es gratuito y open source Tiene una instalación limpia, disponible en el aula Ampliaciones (plugins) para desarrollo web

+ Organización 8 Paquete: contenedor de clases (carpeta) Clase: contenedor de métodos y atributos (fichero) package introduccion class Hola... introduccion Herencia.java paquete2 dentro de paquete1: paquete1.paquete2

+ Variables y atributos Alcance 9 package introduccion; /** * Tabla de multiplicar * (Variables y atributos) */ class Mult int m; //Atributo de la clase Mult public static void main(string[] args) if (args.length!=1) System.err.println("USO: java Mult <n>"); return; m int n=integer.parseint(args[0]);//variable del método main for (int i=1;i<=10;i++) System.out.println(n+"x"+i+"="+n*i); n...

+ Clases y objetos 10 Clase: diseño abstracto de un concepto Define atributos (variables de la clase) Define métodos (operaciones de la clase) Objeto: cada instancia concreta de la clase Permite dar valor a los atributos Permite ejecutar los métodos

+ Clases y Objetos 11 clase public class Coche float velocidad; int numpuertas; String color; public Coche(int numpuertas, float velocidad, String color) this.velocidad=velocidad; this.numpuertas=numpuertas; this.color=color; public int getnumpuertas() return numpuertas; public void acelerar(int nuevavelocidad) if(nuevavelocidad>velocidad) velocidad=nuevavelocidad; objeto public class Main public static void main(string [] args) Coche miferrari=new Coche(3,0, rojo ); System.out.println( Mi coche tiene " +miferrari.getnumpuertas()+ puertas ); miferrari.acelerar(100);

+ Privacidad 12 public: accesible desde fuera y dentro de la clase private: accesible sólo desde la clase protected (por defecto) accesible desde dentro de la clase o de clases hijas Atendiendo a la modularidad, es recomendable que los atributos de una clase sean privados o protegidos. Atendiendo a la claridad de código y eficiencia de recursos, los atributos públicos pueden ser útiles.

+ Herencia 13 Constructor por defecto ~ super() Vehículo Coche Moto

+ Clases abstractas 14 No se pueden instanciar en objetos Palabra clave abstract antes de class.

+ Polimorfismo 15 public class Coche extends Vehiculo implements Cloneable public Coche(int numpuertas, int velocidad, String color) this.velocidad=velocidad; this.numpuertas=numpuertas; this.color=color; this.numruedas=4; public Coche(String color) this.velocidad=0; this.numpuertas=3; this.color=color; this.numruedas=4; public Coche() this.velocidad=0; this.numpuertas=3; this.color="negro"; this.numruedas=4; Varios métodos con el mismo nombre, siempre que los parámetros sean distintos

+ Métodos estáticos 16 public class Coche extends Vehiculo public Coche(int numpuertas, int velocidad, String color) this.velocidad=velocidad; this.numpuertas=numpuertas; this.color=color; this.numruedas=4;... public static String getautordelaclase() return "Rodrigo Santamaría"; En un método estático no podemos hacer uso de atributos o métodos no estáticos public class Main public static void main(string [] args) System.out.println("Autor de la clase Coche: " +Coche.getAutorDeLaClase());...

+ Gestión de la memoria 17 Reserva de memoria explícita (new) Liberación automática (garbage collector) Detecta objetos no utilizados/accesibles y los borra Puede reducir el rendimiento Solicitud explícita con System.gc(); Asignación de objetos por referencia Para signación por valor: coche1=coche2.clone(); Sólo si Coche implementa Cloneable Y redefine el método clone() public Object clone() Coche obj=new Coche(); obj.numpuertas=this.numpuertas; obj.velocidad=this.velocidad; obj.color=this.color; return obj;

+ Control de Errores El método indica qué excepciones pueden ocurrirle 18 Y cuando ocurren, las lanza Al usar métodos que pueden lanzar excepciones, deben estar en una sección try/catch, de forma que si se producen, las detectemos y gestionemos correctamente

+ Serialización 19

+ Concluyendo... 20 Organización en: paquetes, clases y objetos atributos y métodos Programación Orientada a objetos: modularidad, herencia, polimorfismo Gestión sencilla de memoria, errores, I/O Multiplataforma (bytecode + máquina virtual) Sofware libre API oficial Multitud de paquetes desarrollados

+ Documentación 21 Tutorial: http://java.sun.com/docs/books/tutorial/index.html Documentación: http://java.sun.com/javase/6/docs/api Paquetes en la red para todo tipo de propósitos

+ Ejercicio 22 Definir una clase Fruta y las clases hijas Naranja y Manzana. Deben tener los atributos genéricos peso, en kilos (atributo real) hechazumo, falso por defecto (atributo lógico) La manzana debe tener también el atributo entero numpepitas Deben tener los métodos siguientes Constructor por defecto y constructor que permita al usuario iniciar todos los atributos Un método hacerzumo() que modifique el estado de la fruta si hechazumo es falso.

+ Ejercicio 23 Definir una clase Principal que: Instancie dos frutas, una manzana y una naranja Nos diga el peso de la manzana Haga zumo de naranja Tratamiento de errores El método hacerzumo debe lanzar una excepción si se intenta hacer zumo de una fruta ya exprimida La clase Principal debe capturar la excepción y avisar al usuario

+ Ejercicio 24 cont. Serialización La clase Fruta debe implementar un método congelar(string lugar) que guarde la fruta en la ruta especificada por lugar Para ello deberá implementar la interfaz Serializable Utilizar el método para guardar el zumo de naranja en el fichero helado dentro de la carpeta nevera

25

Duke, la mascota de Java 26