Iniciación a Java. 1.Introducción a Java 2.Programación Orientada a Objetos 3.Fundamentos del lenguaje Java

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

Download "Iniciación a Java. 1.Introducción a Java 2.Programación Orientada a Objetos 3.Fundamentos del lenguaje Java"

Transcripción

1 Iniciación a Java 1.Introducción a Java 2.Programación Orientada a Objetos 3.Fundamentos del lenguaje Java 4.Trabajando con Objetos 5.Manejo de Clases, Métodos y Variables 6.Conceptos Avanzados de Java

2 1. Introducción a Java 1.1.Introducción 1.2.Orígenes e historia del lenguaje Java 1.3.Características de Java 1.4.El Software Development Kit de Java 1.5.Instalación y configuración del J2SE El API del SDK 1.7.Cómo compilar archivos 1.8.El Classpath 1.9.Ejecución de Programas en Java 1.10.Resumen

3 1.1. Introducción Hablaremos de: origen e historia de Java características que lo diferencian de otros lenguajes instalación de la plataforma consejos de compilación y ejecución

4 1.2. Orígenes e historia del lenguaje Java Desarrollado por Sun Microsystems en 1991 Destinado a electrodomésticos domésticos Independiente de la plataforma Basado en C++ El proyecto se disolvió en 1994 Sun desarrolla HotJava con soporte de applets Netscape da soporte a los applets

5 1.3. Características de Java Simplicidad: Basado en C++ para fácil aprendizaje Orientado a Objetos: Ventajas frente a procedural Distribuido: Trabajo en red Robusto: Elimina problemas comunes en C Seguro: sandbox Independencia de Plataforma (WORE): JVM Multithreaded: Múltiples hilos de ejecución

6 1.4. El Software Development Kit de Java JDK ó SDK: Herramientas para compilar y ejecutar J2SE (Java 2 Standard Edition) J2ME (Java 2 Mobile Edition) J2EE (Java 2 Enterprise Edition)

7 1.5. Instalación y configuración del J2SE Descarga: Una vez instalado: W98/ME: Añadir al Autoexec.bat SET PATH=c:\j2sdk1.4.2\bin;%PATH% WNT/200/XP: Panel de control/ Sistema/ Avanzado/ Variables de Entorno/ Variables del Sistema añadir a PATH la ruta del SDK Linux: Añadir $HOME/.bashrc ó $HOME/bash_profile export PATH=/usr/local/j2sdk1.4.2/bin:$PATH

8 1.6. El API del SDK

9 1.7. Cómo compilar archivos javac d dir_dest classpath cp1:cp2 archivo.java Ej: javac d. MiClase.java

10 1.8. El Classpath Caminos de búsqueda de clases utilizadas Como mínimo las del Java Run Time: jdk1.4/jre/lib/rt.jar

11 1.9. Ejecución de Programas en Java Fallos típicos: java MiClase método main() tiene que estar definido java MiClase.class (sobra.class) si salta java.lang.noclassdeffounderror y nuestra clase define package paquete.clases hay que ejecutar: java paquete.clases.miclase

12 1.10. Resumen Diseñado para electrodomésticos, actualmente para aplicaciones de servidor Simplicidad, orientación a objetos, distribución, robustez, seguridad, independencia de plataforma, multihilo Al compilar se genera bytecode interpretado por la JVM SDK: herramientas para compilar y ejecutar. J2SE, J2EE, J2ME API: conjunto de clases Compilador: javac; ejecución: java; classpath define camino de búsqueda

13 2. Programación Orientada a Objetos 2.1.Introducción 2.2.Orientación a objetos 2.3.Clases en Java. Atributos y Métodos 2.4.Herencia 2.5.Paquetes 2.6.Resumen

14 2.1. Introducción Que son clases y objetos Atributos y métodos en las clases Herencia Paquetes

15 2.2. Orientación a objetos (1/2) Ordenador: placa, procesador, memoria, disco duro, etc. Disco duro: discos superpuestos, cabeza lectora, circuito controlador, etc. El todo está compuesto por piezas y cada pieza por partes más pequeñas Si se estropea un disco duro y existen estándares para la conexión (indep. fabricante) sin problema. Objeto (disco duro), función (almacenar datos), atributos (los datos), interfaz (IDE, SCSI)

16 2.2. Orientación a objetos (2/2) Objetos: Realizan una tarea por sí solos Proporcionan encapsulación Son reutilizables Proporcionan escalabilidad (el programa puede crecer) y modularidad (división en bloques para fácil comprensión)

17 2.3. Clases en Java. Atributos y Métodos (1/4) Escribimos clases (abstracción, plantilla) no objetos (realización)

18 2.3. Clases en Java. Atributos y Métodos (2/4) class Coche { boolean estadomotor = false; String color; String modelo;...

19 2.3. Clases en Java. Atributos y Métodos (3/4) void arrancar() { if (estadomotor == true) System.out.println( Coche ya arrancado ); else { estadomotor = true; System.out.println( Arrancado ); } }

20 2.3. Clases en Java. Atributos y Métodos (4/4)... void detener() { if (estadomotor == false) System.out.println( Coche ya detenido ); else { estadomotor = false; System.out.println( Detenido ); } } } // fin de la clase Coche

21 2.4. Herencia (1/2) Toda clase existe dentro de una jerarquía En Java, toda clase tiene una y solo una clase por encima (herencia simple) La clase hereda métodos y propiedades de su superclase Cada subclase extiende y concreta la funcionalidad y características de su superclase, se especializa En Java todas las clases heredan de Object

22 class Animal { float peso; void comer(){} } 2.4. Herencia (2/2) class Memifero extends Animal { boolean sangrecaliente; void parir() {} void amamantar() {} }

23 2.5. Paquetes conjunto de clases e interfaces relacionados una forma de crear librerías API Java, package java import Por defecto siempre se incluye java.lang sin necesidad del import

24 2.6. Resumen Programas Java: compuestos por objetos independientes que se comunican entre sí Objetos: tienen atributos (sus variables) y métodos (comportamiento) Clases: abstracción de objetos (plantillas) Toda clase hereda atributos y métodos de su superclase (cabeza de pirámide java.lang.object) Paquetes: agrupación de clases

25 3. Fundamentos del lenguaje Java 3.1.Introducción 3.2.Comentarios 3.3.Variables y Tipos de Datos 3.4.Literales 3.5.Instrucciones 3.6.Expresiones y Operadores 3.7.Control de Flujo 3.8.Resumen

26 3.1. Introducción Introduciremos la herramientas para escribir programas en Java Veremos la sintaxis de las instrucciones, variables, tipos de datos, literales, operadores y flujo de programa

27 3.2. Comentarios /* Comentarios de varias líneas */ int variable; // Comentario de final de línea /** * Comentario de Javadoc parametro Descripción */

28 3.3. Variables y Tipos de Datos Zonas de memoria donde almacenar valores Tienen: tipo, nombre y valor Antes de utilizarlas hay que definirlas

29 El nombre de la variable Se pueden definir en cualquier parte (pero mejor al principio) Primer carácter: letra, guión bajo (_) o dólar ($) A partir del segundo: también permite números Case sensitive Por norma, la primera letra en minúscula Separar palabras con letra mayúscula

30 La asignación int numroentero, numero2entero = 3; int x=4, y=5, z=6; boolean motorenmarcha = true; String texto; texto = Esto es una cadena de texto ;

31 El tipo Tipo primitivo (boolean, char, byte, short, int, long, float, double) Clase o interfaz Array de elementos (distinto de la clase Array)

32 3.4. Literales Forma de especificar un valor Tipos: de entero, de punto flotante, de caracteres, de cadenas, etc

33 Literales de enteros int entero = 65535; // Valor decimal int entero = 0xFFFF; // Valor hexadecimal (0x) int entero = ; // Valor octal (0) long enterolargo = 22L; // Entero 64 bits (L)

34 Literales de punto flotante double flotantelargo = 5.34; // Notación decimal double flotantelargo = 3.00e+8; // Notación científica float flotantecorto = 5.34F; // Notación decimal 32 bits float flotantecorto = 3.00e+8F; // Científica de 32 bits Por defecto cualquier literal de punto flotante es de tipo double. Si queremos que sea float hay que especificarlo con F

35 Literales de caracteres Se definen utilizando comillas simples char carácter = 'a'; Admiten caracteres de escape ASCII o Unicode char saltolinea = '\n';

36 Literales de cadena Conjunto de caracteres y secuencias de escape entre comillas dobles Normalmente serán instancias de la clase String String cadena = Esto es una cadena ; String cadena = Cadena con \ comillas\ dentro ;

37 3.5. Instrucciones (1/2) Sintaxis muy similar a C o C++ Todas las instrucciones aparecen dentro de un bloque Un bloque es todo aquello que esté entre { y } Todas las instrucciones finalizan con ; con excepción de las sentencias de control de flujo Alcance de variables limitado a su bloque

38 3.5. Instrucciones (2/2) class ClaseEjempo { int variable=1; void metodo() { if (variable == 1) System.out.println( La variable vale 1 ); else { System.out.println( La variable vale 0 ); } } }

39 3.6. Expresiones y Operadores. Preferencia (1/2) Expresión = instrucción que devuelve un valor Las expresiones utilizan operadores (definen la operación a realizar entre los operandos) Existe una relación de prioridad entre operandos A igual prioridad se evalúan de izquierda a derecha Para cambiar la prioridad se utilizan los paréntesis

40 3.6. Expresiones y Operadores. Preferencia (2/2) Pri. Operador Operandos Descripción 1 ++, Aritméticos Incremento y decremento 1! Booleano Complemento Lógico 1 ~ Entero Complemento en binario 1 (tipo) Cualquiera Casting 2 *,/,% Aritméticos Multiplicación, división, módulo o residuo 3 +, Aritméticos Adición y sustracción 3 + String Concatenación de cadenas 4 << Entero Desplazamiento de bits hacia la izqueirda 4 >> Entero Desplazamiento de bits hacia la derecha 5 <,<=,>,>= Aritméticos Comparación numérica 5 instanceof Objeto Comparación de tipo 6 ==,!= Tipos primitivos Igualdad o desigualdad de valor

41 3.7. Control de Flujo Sentencias que permiten modificar el flujo de ejecución de los programas

42 if else (1/2) if (condicion) instrucción o bloque de instrucciones; else instrucción o bloque de instrucciones; Donde: condición: Expresión booleana

43 if else (2/2) class ControlFlujo { public static void main(sring args[]) { String cadena1 = hola ; String cadena2 = hola ; String cadena3; } } if (cadena1.equals(cadena2)) { System.out.println( Cadenas iguales ); cadena3 = cadena2; System.out.println( Cadena3: + cadena3); } else System.out.println( Cadenas distintas );

44 El condicional switch (1/2) Permite comparar una variable con varios valores La variable es comparada con cada uno de los valores y se ejecutan las sentencias de aquellos que coincidan Se admite el valor por defecto default que coincide con cualquier cosa La variable debe ser de un tipo primitivo que pueda ser convertido a int La sentencia break fuerza la salida del switch Los valores deben ser constantes (o variables final)

45 El condicional switch (2/2) class UsoDeSwitch{ public static void main(string args[]) { int a=3; switch(a) { case 1: System.out.println( Es 1 ); break; case 2: System.out.println( Es 2 ); break; default: System.out.println( No es 1 ni 2 ); } } }

46 Bucles while y do while (1/2) class UsoDeWhile { public static void main(string args[]) { int a=0, b=10; while (a<10 && b>0) { System.out.println( a: + a + y b: + b); a++; b ; } } }

47 Bucles while y do while (2/2) class UsoDeDoWhile { public static void main(string args[]) { int a=0, b=10; do { System.out.println( a: + a + y b: + b); a++; b ; } while (a<10 && b>0); } }

48 Bucles for class UsoDeFor { public static void main(string args[]) { int a,b=10; for(a=0; a<10; a++) { System.out.println( a: + a + y b: + b); b ; } } }

49 7.8. Resumen Toda variable tiene tipo, nombre y valor Los tipos pueden ser: uno de los 8 primitivos, una clase, un array de elementos Los literales definen la forma en que especificamos un valor de una variable Las instrucciones se agrupan en bloques Una expresión es una instrucción que devuelve un valor Se pueden concatenar cadenas mediante el + Sentencias condicionales: if else, switch Sentencias repetitivas: while, do while, for

50 4. Trabajando con Objetos 4.1.Introducción 4.2.Creación y Destrucción de Objetos 4.3.Invocación de Variables y Métodos 4.4.Métodos Constructores de una Clase 4.5.Conversión mediante Casting 4.6.Arrays 4.7.Trabajando con cadenas de caracteres 4.8.Resumen

51 4.1. Introducción Aprenderemos a crear, destruir y trabajar con objetos. Aprenderemos a invocar a los métodos y atributos, veremos que es el casting y estudiaremos los arrays y las cadenas de caracteres

52 4.2. Creación y Destrucción de Objetos Instancia = Objeto Instanciar una clase = crear un objeto a partir de dicha clase Coche ferrari = new Coche(); Define una variable de tipo Coche, de nombre ferrari y que almacena una instancia de la clase Coche. El constructor de la clase puede admitir parámetros. Recolector de basura: no se necesita destruir objetos

53 4.3. Invocación de Variables y Métodos Una clase, por sí sola, no puede ejecutarse. Debe tener un método main que cree un objeto de la clase o debe ser llamada desde otra clase Todos los métodos hay que definirlos dentro de la clase, incluso el main Podemos acceder a una propiedad mediante objeto.propiedad Podemos invocar un método mediante objeto.metodo(parámetros)

54 4.4. Métodos Constructores de una Clase Inicializa un nuevo objeto El operador new: reserva memoria para el objeto inicializa las variables de instancia del objeto invoca al método constructor Java define un constructor por defecto sin parámetros Un constructor no devuelve ningún tipo (ni void) Un constructor tiene el mismo nombre que su clase

55 4.5. Conversión mediante Casting El casting permite cambiar el valor de un objeto o tipo primitivo a otro tipo diferente Para tipos primitivos si la conversión es de un tipo más grande a uno más pequeño está implícita: int x = 3; float y = x; En caso contrario hay que especificar el casting: float x = 100f; int y = (int)x; Las conversiones entre Objetos solamente se permiten si existen relaciones de herencia

56 4.6. Arrays (1/2) Colección de elementos ordenados En Java, los arrays son objetos Todos sus elementos deben ser del mismo tipo Se definen como: String cadenas[]; o String[] cadenas; Se pueden inicializar en la definición: String cadenas[] = { cadena1, cadena2 }; o inicializar solamente el número de elementos String cadenas[] = new String[2];

57 4.6. Arrays (2/2) Las posiciones van de 0 al número de eltos menos uno A los elementos se accede por índice: cadenas[2] = cad1 ; Para saber su longitud se utiliza el atributo length: int logitud = cadenas.length; Para copiar un array podemos utilizar: System.arraycopy(oriben,iniceorigen,destino,indicedestino,num eroelementos) Arrays multidimensionales: int matriz[][] = new int[10][10];

58 4.7. Trabajando con cadenas de caracteres Las cadenas son secuencias de caracteres Se utiliza la clase String Se pueden concatenar con el operador + Cualquier objetos se puede convertir a String int edad = 27; String informe = La edad es + edad; Para comparar cadenas se utiliza el método equals() o equalsignorecase() En el API hay muchas funciones útiles (substring, length,...)

59 4.8. Resumen Para instanciar una clase se utiliza new Para acceder a sus propiedades y métodos se utiliza la notación de puntos El constructor es un método especial para inicializar un objeto Se puede utilizar la conversión de tipos (casting) Un array es una colección de objetos ordenados y en Java se un Objeto Todas las cadenas de caracteres son instancias de String

60 5. Manejo de Clases, Métodos y Variables (1/2) 5.1.Introducción 5.2.Tipos de Variables 5.3.Alcance de las Variables 5.4.Modificadores 5.5.Control de Acceso. Tipos de protección 5.6.Finalización de clases, métodos y variables 5.7.Métodos 5.8.Pasando argumentos desde la línea de comandos

61 5. Manejo de Clases, Métodos y Variables (2/2) 5.9.Métodos de clase e instancia 5.10.Análisis del método main 5.11.Polimorfismo 5.12.This y Super 5.13.Sobrecarga de Métodos 5.14.Superposición de Métodos 5.15.Sobrecarga de constructores 5.16.Superposición de constructores 5.17.Resumen

62 5.1. Introducción Veremos que, según su ubicación en el código, existen varios tipos de métodos y variables con un tipo u otro de alcance Estudiaremos el control de acceso a clases, métodos y variables Veremos la definición formal de métodos Explicaremos el concepto de polimorfismo

63 5.2. Tipos de Variables Local: dentro de la definición de un método. Sólo válida para el código contenido en ese método De Instancia: se declaran fuera de los métodos (generalmente al principio). Válida para toda la instancia (se puede usar desde cualquier método) De Clase: se declara al principio de la clase. Válida para todas las instancias. Se utiliza la palabra reservada static en su definición

64 5.3. Alcance de las Variables Alcance = zona del código donde se puede usar Al llamar a una variable: Java busca la definición en el ámbito (bloque) actual, como puede ser un bucle Si no la encuentra va subiendo hasta llegar a la definición del método (variable local) Si no la encuentra busca una de instancia o de clase Si no la encuentra sube a la superclase a buscarla

65 5.4. Modificadores Son palabras reservadas que permiten modificar la definición y el comportamiento de las clases, métodos y variables Los más importantes: public, protected, private para el control de acceso static para crear métodos y variables de clase abstract para crear clase, métodos y variables abstractas final para indicar que finaliza la implementación de una clase, método o variable

66 5.5. Control de Acceso. Tipos de protección El control de acceso se refiere a la visibilidad de una clase, variable o método. Encapsulación Cuatro niveles de protección: público paquete protegido privado

67 Protección Friendly o de Paquete Son visibles a todas las demás clases del mismo paquete, pero no fuera de él Es la protección por defecto cuando no se especifica

68 Protección Pública Son visibles a todas las demás clases, dentro o fuera de la clase o paquete actual Se utiliza la palabra reservada public NOTA: cuando tengamos más de una definición de clase en el mismo archivo java, solamente una de ellas podrá ser pública y el archivo java deberá llamarse igual que esa clase

69 Protección Privada Son accesibles únicamente por métodos de la misma clase. Se utiliza la palabra reservada private Existe un tipo especial de clases que pueden ser privadas, las clases internas

70 Clases Internas Es aquella que está definida dentro de otra clase Pueden acceder a la implementación de la clase creadora (incluyendo los privados) Pueden ocultarse a otras clases del mismo paquete class ClasePrincipal { private atributo1; public metodo() {} private class ClaseInterna { // desde aquí podemos acceder a atributo1 } }

71 Protección Protegida Son accesibles por todas las clases dentro del paquete y por sus subclases, aunque estén fuera de él Se utiliza la palabra reservada protected

72 5.6. Finalización de clases, métodos y variables La finalización permite bloquear la implementación de una clase, variable o método. Se especifica utilizando la palabra reservada final generalmente a continuación de un modificador de protección.

73 Finalización de variable Se convierte en una constante final int a = 6;

74 Finalización de método Evita que un método pueda ser superpuesto public final void metodoinmutable() {} La utilización de métodos finales acelera la ejecución del programa porque el compilador no tiene que buscar la definición de ese método en las subclases

75 Finalización de clase Evita que una clase tenga subclases public final class ClaseFinal{} El API Java tiene clases finales para evitar que se puedan extender Salvo por eficiencia no lo haremos

76 5.7. Métodos (1/2) Definen la funcionalidad de un objeto Constan de: uno o varios modificadores (public, static, final, etc) el Objeto o Tipo Primitivo que devuelve el Nombre del método un conjunto de Parámetros la palabra reservada throws (se verá más adelante) el Cuerpo del método

77 5.7. Métodos (2/2) Firma (signature) del método: nombre del método + conjunto de parámetros Cuando un método no devuelve nada debe especificarse el tipo void Paso de parámetros: Los tipos primitivos se pasan por valor Los objetos se pasan por referencia

78 5.8. Pasando argumentos desde la línea de comandos public static void main (String args[]) {...} args.length: Número de argumentos args[0]: Primer argumento if (args[0].equals( version ))...

79 5.9. Métodos de clase e instancia Los métodos de clase están disponibles para cualquier instancia de esa clase o para otras clases, independientemente de si existe, o no, una instancia de esa clase public static int calculaderivada(string ecuacion) {} double coseno = Math.cos(Math.PI);

80 5.10. Análisis del método main En toda aplicación, al menos debe de existir una clase que tenga un método main public static void main(string args[]) public: el método main debe estar accesible desde fuera de la clase para poder invocarlo al arrancar la aplicación static: es un método de clase, está disponible independientemente de que esté o no instanciada la clase void: no devuelve nada main: siempre se llama así (ya se explicaron los parámetros de la línea de comandos)

81 5.11. Polimorfismo Es la capacidad de utilizar un objeto de una subclase como si fuera un objeto de la clase base Permite escribir código que desconoce parcialmente las características de los objetos con los que trabaja (código desacoplado)

82 5.12. This y Super Relacionadas con la herencia y el alcance de las variables this: permite referirse a las variables y métodos de la instancia así como pasar el propio objeto como argumento super: similar a this, pero se refiere a la superclase del objeto

83 5.13. Sobrecarga de Métodos Consiste en crear varios métodos con el mismo nombre pero con distintas firmas (signature) o definiciones

84 5.14. Superposición de Métodos Son métodos de subclases con la misma firma que los correspondientes de la superclase Permite amplicar la funcionalidad de los métodos de la superclase Java, al igual que con las variables, buscará primero el método en la clase y si no lo encuentra subirá a buscarlo a la superclase Para llamar a la implementación de la superclase: super.metodo(parametros);

85 5.15. Sobrecarga de constructores Se utiliza igual que el resto de métodos Si no se define ningún constructor, existe el constructor por defecto (sin parámetros) Si se define algún constructor, únicamente están disponibles los definidos (ya no está el constructor por defecto si no se define explícitamente) Para ejecutar un constructor desde otro: this(parametros);

86 5.16. Superposición de constructores Como los constructores deben tener el mismo nombre de la clase es imposible realizar la superposición Pero podemos aprovechar el constructor de la clase: super(argumentos);

87 5.17. Resumen Tipos de variables: locales, de instancia y de clase Modificadores: modifican la definición y comportamiento. Destacan los de control de acceso (public, private, protected y friendly) Finalización: permite bloquear la implementación Firma: tipo devuelto + nombre método + parámetros Polimorfismo: usar un objeto de subclase como si fuese de la clase base (código desacoplado) this: se refiere al objeto actual super: ser refiere a la superclase sobrecarga: varios métodos con el mismo nombre pero distinta firma superposición: permite redefinir los métodos en las subclases

88 6. Conceptos Avanzados de Java 6.1.Introducción 6.2.Abstracción de clases y métodos 6.3.Excepciones 6.4.Interfaces 6.5.Entrada Salida (E/S) 6.6.Resumen

89 6.1. Introducción En este capítulo veremos la abstracción de clases, las interfaces, el control y gestión de interrupciones y la entrada salida (E/S)

90 6.2. Abstracción de clases y métodos (1/2) Clases abstractas: no pueden tener instancias sirven de referencias generalmente en la parte superior de la jerarquía de clases de Java. pueden contener métodos concretos y abstractos Métodos abstractos: firma del método únicamente, sin su implementación no pueden existir fuera de una clase abstracta

91 6.2. Abstracción de clases y métodos (2/2) Si una clase contiene un método abstracto deberá ser definida como abstracta Para su definición se antepone abstract Sirven para obligar a que las subclases implementen los métodos

92 6.3. Excepciones Sirven para permitir a un programa recuperarse de los errores de una forma elegante Permiten a los programas ser tolerantes a fallos Las excepciones son clases (Exception y Error heredan de Throwable)

93 Captura de excepciones (1/2) Todas las excepciones heredan de java.lang.exception El código susceptible de generar excepciones se encierra entre try y catch catch admite como parámetro el tipo de excepción a capturar finally: es un bloque opcional después del catch. Permite realizar tareas que deben ser ejecutadas independientemente del comportamiento de errores (como cerrar una conexión de base de datos)

94 Captura de excepciones (2/2) try { // Código que pueda generar Errores ("Exception's") } catch(tipo1 id1) { // Manejar "Exception's" para la Clase Tipo1 } catch(tipo2 id2) { // Manejar "Exception's" para la Clase Tipo2 } catch(tipo3 id3) { // Manejar "Exception's" para la Clase Tipo3 } finally { // Actividades que siempre ocurren }

95 Lanzando Excepciones (1/2) En la firma del método debe especificarse la o las excpciones que puede lanzar utilizando la palabra reservada throws Dentro del cuerpo del método se lanzarán utilizando la palabra reservada throw

96 Lanzando Excepciones (2/2) public String leerfichero(string fichero) throws IOException, FileNotFoundException {... throw new FileNotFoundException( No se ha encontrado el archivo ); }

97 Creando nuestras propias excepciones (1/2) public class MiExcepcion extends Exception { public MiExcepcion() {} public MiExcepcion(String mensaje) { super(mensaje); System.out.println( Saliendo del sistema ); // Otras acciones } }

98 Creando nuestras propias excepciones (2/2) class UsoDeExcepciones { void funcion(int a) throws MiExcepcion { if (a==1) throw new MiExcepcion( Se ha producido una excepción propia. ); } public static void main(string args[]) { UsoDeExcepciones uso = new UsoDeExcepciones(); try { uso.funcion(1); } catch (MiExcepcion m) { System.out.println( Excepción: + m.getmessage()); } } }

99 Transfiriendo excepciones class UsoDeExcepciones2 { void funcion (int a) throws MiExcepcion { if (a==1) throw new MiExcepcion( error ); } void pasarmarron(int var) throws MiExcepcion{ funcion(var); // Otro código } public static void main(string args[]) { UsoDeExcepciones2 uso = new UsoDeExcepciones2(); try { uso.pasrmarron(1); } catch (MiExcepcion m) { System.out.println(m.getMessage()); } } }

100 6.4. Interfaces (1/2) Solución a la herencia simple Interfaz: Clase en la que solo se especifica comportamiento, únicamente se definen firmas de métodos y constantes Se dice que una clase implementa una interfaz cuando implementa todos sus métodos (está obligada) Para definir una interfaz, se antepone la palabra interface al nombre de la clase Solamente pueden ser públicas o con protección de paquete Los métodos son public y abstract (no se especifica) Las variables son public, static y final (no se especifica)

101 6.4. Interfaces (2/2) No se pueden crear instancias de una interfaz (al igual que en las clases abstractas) Una interfaz puede heredar de una o varias interfaces (extends Interfaz1, Interfaz2) herencia múltiple de interfaces. La implementación se indica con implements (similar al extends de la herencia). Múltiples implementaciones se separan por comas La subclase de una clase que implementa una interfaz, también implementa la interfaz

102 6.5. Entrada Salida (E/S) La clase System: clase final (no se puede instanciar) del paquete java.lang in: flujo de entrada (InputStream) err: flujo donde se redireccionan los errores (OutputStream) out: flujo de salida (OutputStream) Salida por pantalla System.out.println(); Entrada por teclado String texto = (new BufferedReader(new InputStreamReader(System.in))).readLine();

103 6.6. Resumen Las clases y métodos abstractos no pueden instanciarse. Se utiliza el modificador abstract Cuando un programa Java falla lanza excepciones. Capturándolas mediante try catch podemos crear código tolerante a fallos Las interfaces son clases que especifican un comportamiento Java posee funciones de E/S

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

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

Más detalles

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

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

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

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

TEMA 2. Agenda. Fundamentos de JAVA

TEMA 2. Agenda. Fundamentos de JAVA TEMA 2 Fundamentos de JAVA V1.3 Manuel Pereira González Agenda Introducción Historia de Java Características Principales Hello World Tipos Operadores Control de Flujo E/S básica Atributos y Métodos Resumen

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

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

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Ingeniero en Computación José Alfredo Cobián Campos josealfredocobian@gmail.com Facultad de Ciencias

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar

Más detalles

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

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

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

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:

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

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

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1 Departamento de Lenguajes y Sistemas Informáticos JavaScript Programación en Internet Curso 2005-2006 Contenidos Introducción El lenguaje Validación de formularios DLSI - Universidad de Alicante 1 Introducción

Más detalles

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

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas

Más detalles

INTRODUCCIÓN A JAVA. Índice

INTRODUCCIÓN A JAVA. Índice INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

Fundamentos del Lenguaje de Programación Java

Fundamentos del Lenguaje de Programación Java Fundamentos del Lenguaje de Programación Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx El lenguaje Java Estándares de codificación Comentarios Programas con Java Identificadores Palabras clave

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

Tema 3 Elementos básicos de programación

Tema 3 Elementos básicos de programación Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

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

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

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

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Introducción al lenguaje de programación java

Introducción al lenguaje de programación java Introducción al lenguaje de programación java Algoritmia y Programación Slide 1 LENGUAJES DE PROGRAMACION Un lenguaje de programación es un idioma artificial diseñado y creado para expresar algoritmos

Más detalles

James Gosling, creador de Java

James Gosling, creador de Java Lo que Java intenta hacer y lo hace con bastante éxito, es abarcar dominios diferentes. De esa forma le permite efectuar trabajos para de aplicaciones del lado del servidor, del lado del cliente, para

Más detalles

2.2.- Paradigmas de la POO

2.2.- Paradigmas de la POO 2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

Más detalles

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia

Más detalles

Ubicación e historia

Ubicación e historia Introducción a Java Ubicación e historia http:// ://java.sun.com/ JDK (Java Development Kit) JDK 1.0, 1995 JDK 1.1, 1996. Modificación en manejo de eventos; nuevas bibliotecas (reflexión, métodos remotos,...)

Más detalles

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando

Más detalles

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

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

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta. Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO LAEFF - INTA raul@laeff.inta.es Qué es Java? Java es un lenguaje de programación orientado a objetos desarrollado por Sun

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 smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!

Más detalles

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

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida } REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)

Más detalles

El lenguaje de programación Java

El lenguaje de programación Java Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red

Más detalles

Computación III. Objetivo de aprendizaje del tema

Computación III. Objetivo de aprendizaje del tema Computación III Tema 5 Declaración, inicialización y uso de variables 1 Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Identificar la sintaxis de las variables en el lenguaje Java.

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

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 Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental] ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental] Action script es el lenguaje de programación que lleva incorporado el software de creación multimedia Macromedia

Más detalles

2.1. Introducción al lenguaje Java

2.1. Introducción al lenguaje 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

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

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Más detalles

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Sintaxis y Convenciones de Java. M. en C. Erika Vilches Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Variables y Tipos de Datos PRÁCTICA NÚM. [ 1 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

8. Sentencia return y métodos

8. Sentencia return y métodos 92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente

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

19. Packages o paquetes

19. Packages o paquetes Programación orientada a objetos con Java 201 19. Packages o paquetes Objetivos: a) Definir el concepto de paquete b) Interpretar el código fuente de una aplicación Java donde se utilicen paquetes c) Construir

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 Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir

Más detalles

Objetos y Clases en Java. ELO 329: Diseño y Programación Orientados a Objetos

Objetos y Clases en Java. ELO 329: Diseño y Programación Orientados a Objetos Objetos y Clases en Java ELO 329: Diseño y Programación Orientados a Objetos 1 Elementos de Análisis y Diseño orientado a objetos Notación y relaciones entre clases: Las clases son abstracciones para los

Más detalles

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

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1. Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;

Más detalles

1 ELEMENTOS BASICOS DEL LENGUAJE

1 ELEMENTOS BASICOS DEL LENGUAJE 1 ELEMENTOS SICOS DEL LENGUJE Contenido: Variables su declaracion y asignacion Caracteres en java Secuencias de escape y comentarios Tipos de datos Operadores aritméticos, relacionales y lógicos Entrada

Más detalles

jal@gui.uva.es versión 2.0

jal@gui.uva.es versión 2.0 MANUAL DE INICIACIÓN A JUAN ÁNGEL LORENZO DEL CASTILLO jal@gui.uva.es versión 2.0 GRUPO UNIVERSITARIO DE INFORMÁTICA (G.U.I.) UNIVERSIDAD DE VALLADOLID Manual de Iniciación a Java Juan Ángel Lorenzo del

Más detalles

Uso de excepciones en Java

Uso de excepciones en Java Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que

Más detalles

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

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase Java: Clases y Objetos Clases La unidad fundamental de programación en Java es la clase Un programa Java está formado por un conjunto de clases Una clase es una plantilla que describe un conjunto de objetos

Más detalles

Seminario de Java. Contenido

Seminario de Java. Contenido Seminario de Java Programación Orientada a Objetos Curso 2006/2007 Contenido 1. Introducción 2. Primeros pasos con Java. El entorno Eclipse 3. La sintaxis del lenguaje Java 4. Clases y objetos 5. Cadenas

Más detalles

INF 473 Desarrollo de Aplicaciones en

INF 473 Desarrollo de Aplicaciones en INF 473 Desarrollo de Aplicaciones en Java Unidad II El Lenguaje de Programación Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Orígenes del Lenguaje Java 1991. James

Más detalles

9. Objetos y clases. 9.1. Clases

9. Objetos y clases. 9.1. Clases Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java

Más detalles

11. Algunas clases estándar de Java (II)

11. Algunas clases estándar de Java (II) 122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación

Más detalles

EXCEPCIONES EN JAVA. Las sentencias que tratan las excepciones son try y catch. La sintaxis es:

EXCEPCIONES EN JAVA. Las sentencias que tratan las excepciones son try y catch. La sintaxis es: EXCEPCIONES EN JAVA Uno de los problemas más importantes al escribir aplicaciones es el tratamiento de los errores. Errores no previstos que distorsionan la ejecución del programa. Las excepciones de Java

Más detalles

Introducción al lenguaje JAVA

Introducción al lenguaje JAVA Universidad Autónoma de Tlaxcala Introducción al lenguaje JAVA M.C.. José Juan Hernández ndez Mora Segunda Sesión 1. Arreglos 2. Matrices 3. Clases en Java 4. Clases de Usuario en Java 5. Objetos definidos

Más detalles

Tecnologías de Programación Web Dr. Diego C. Martínez. Depto de Cs e Ing. de la Computación Universidad Nacional del Sur.

Tecnologías de Programación Web Dr. Diego C. Martínez. Depto de Cs e Ing. de la Computación Universidad Nacional del Sur. Historia de Java 1991 Comienza el proyecto Green. 1992 Se presenta el lenguaje Oak. Java, 10 años - JavaOne Conference 26 al 30 de junio de 2005 1995 Nace oficialmente la tecnología Java. Cambia el nombre

Más detalles

MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio

MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio Objetivo general: Introducir al participante en los conceptos y herramientas más importantes del lenguaje javo para la programación de objetos. Duración

Más detalles

10. Algunas clases estándar de Java (I)

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

Más detalles

Programación en Java. Programación en OO

Programación en Java. Programación en OO Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,

Más detalles

Temario Iniciación a Java J2SE para web

Temario Iniciación a Java J2SE para web Temario Iniciación a Java J2SE para web 1 Introducción al entorno de Java 1 Qué es un programa? T 2 Los lenguajes de programación T 3 Qué es Java? T 4 Origen de Java T 5 Verdadero o falso vf 6 Características

Más detalles

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

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

Introducción - por qué usarlas?(1)

Introducción - por qué usarlas?(1) Excepciones en Java Introducción - por qué usarlas?(1) En el mundo de la programación hay algo que siempre ocurre: los errores en los programas. Pero qué sucede realmente después de que ha ocurrido el

Más detalles

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

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

Universidad de Cantabria corcuerp@unican.es

Universidad de Cantabria corcuerp@unican.es Herencia Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender los conceptos de herencia Comprender la forma de derivar una

Más detalles

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

Introducción a la Programación en Java. Page 1 Introducción a la Programación en Java Page 1 Qué es Java? Java es un lenguaje de programación de propósito general, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias

Más detalles

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

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

Más detalles

Carmen. Estándares de codificación. Manuel Arias Calleja

Carmen. Estándares de codificación. Manuel Arias Calleja Carmen. Estándares de codificación Manuel Arias Calleja II Índice general 1. Estandares de codificación 1 1.1. Nombres de ficheros........................ 1 1.2. Organización de ficheros......................

Más detalles

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

Práctica 2: Java Remote Method Invocation (RMI) Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es

Más detalles

Definición de clases: Herencia, polimorfismo, ligadura dinámica

Definición de clases: Herencia, polimorfismo, ligadura dinámica Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual

Más detalles

Tema 2. El lenguaje de programación Java. Arrays y cadenas

Tema 2. El lenguaje de programación Java. Arrays y cadenas Programación en Java Tema 2. El lenguaje de programación Java. Arrays y cadenas Luis Rodríguez Baena Facultad de Informática Arrays y colecciones Hay dos formas de guardar varias referencias a objetos:

Más detalles

JAVA SE STANDARD EDITION

JAVA SE STANDARD EDITION JAVA SE STANDARD EDITION PRESENTACIÓN Introduce la tecnología Java describiendo cuáles son sus características fundamentales. Seguidamente se proporciona una visión bastante completa del lenguaje Java,

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

PART II: Moviendo al jugador

PART II: Moviendo al jugador UNITY PART II: Moviendo al jugador El movimiento se lo vamos a dar a través de un programa Definición de programa: Un programa es una secuencia de instrucciones, escritas para realizar una tarea específica

Más detalles

POLIMORFISMO "una interfaz, múltiples métodos".

POLIMORFISMO una interfaz, múltiples métodos. "una interfaz, múltiples métodos". 20/02/2007 Polimorfismo 2 Indice Definición y caracteristicas Objetivos. SOBRRESCRITURA-SOBRECARGA SOBRECARGA Clases y métodos abstractos INTERFACES (herencia múltiple)

Más detalles

Repaso desarrollo de software Parte #1. Jorge Iván Meza Martínez jimezam@gmail.com

Repaso desarrollo de software Parte #1. Jorge Iván Meza Martínez jimezam@gmail.com Repaso desarrollo de software Parte #1 Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/55 Contenido Concepto desarrollo

Más detalles

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases PHP y MySQL Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases Herencia de Objetos La herencia permite crear muchas clases que son similares entre si, sin tener

Más detalles

Manual del Protocolo XML-RPC de Mensajería Negocios

Manual del Protocolo XML-RPC de Mensajería Negocios Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...

Más detalles

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación

Más detalles

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

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp... Contenido Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp... 5 Introducción Es tiempo de hablar en detalle de lo que significa

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS 4.1 Antecedentes históricos El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code)

Más detalles

Introducción al tipo de dato ARRAY

Introducción al tipo de dato ARRAY CONTENIDOS. Introducción al tipo de dato ARRAY. Definición, Características, Declaración, Acceso e Inicialización.. Arrays multidimensionales Definición, Declaración, Acceso e Inicialización. Introducción

Más detalles