3.2 Mapping de IDL a Java

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

Download "3.2 Mapping de IDL a Java"

Transcripción

1 3.2 Mapping de IDL a Java

2 Tipos predefinidos (1) Tipo IDL short long long long unsigned short unsigned long unsigned long long float double long double Tipo Java short int long short int long float double De momento, no está soportado El rango de los tipos enteros IDL sin signo es mayor que el de los tipos Java (los enteros sin signo grandes llegan como negativos)

3 Tipos predefinidos (y 2) Tipo IDL char wchar string wstring octet boolean any Tipo Java char char java.lang.string java.lang.string byte boolean (las constantes IDL TRUE y FALSE se mapean a true y false) org.omg.corba.any (abstracta) Se producen excepciones si se violan los rangos de los caracteres o el tamaño de las cadenas de caracteres acotadas

4 typedef En Java no existe una construcción similar a typedef Se usa el tipo original

5 Enumeraciones // IDL enum Color {red, green, blue, yellow, white // Java public class Color implements org.omg.corba.portable.idlentity { public static final int _red = 0; public static final Color red = new Color(_red); public static final int _green = 1; public static final Color green = new Color(_green); //... public int value() {... } public static Color from_int(int value) {... } protected Color(int value) {... } } Dado que cada valor es un singleton, la igualdad entre valores se puede comprobar con equals().

6 Estructuras // IDL struct Date { short year; short month; // 1-12 short day; // 1-31 // Java final public class Date implements org.omg.corba.portable.idlentity { public short year; public short month; public short day; } public Date() {} public Date(short year, short month, short day) {... }

7 Union (1) // IDL union Token switch(color) { case blue: float floatvalue; case red: case green: long longvalue; default: string stringvalue; // Java final public class Token implements org.omg.corba.portable.idlentity { public Token() {... } public Color discriminator() {... }

8 Union (y 2) public float floatvalue() {... } public void floatvalue(float value) {... } public long longvalue() {... } public void longvalue(long value) {... } public void longvalue(color discriminator, long value) {... } public String stringvalue() {... } public void stringvalue(string value) {... } public void stringvalue(color discriminator, String value) {... } } // class

9 Vectores y secuencias (1) Los vectores y secuencias (acotadas y no acotadas) se mapean a vectores Java Se produce una excepción si se violan longitudes (vectores y secuencias acotadas) // IDL typedef Date DateVector[10]; typedef string StringMatrix[10][20]; typedef sequence<color> Colors; typedef sequence<date, 10> Dates10; struct Example { DateVector fdatevector; StringMatrix fstringmatrix; Colors fcolors; Dates10 fdates10;

10 Vectores y secuencias (y 2) // Java final public class Example implements org.omg.corba.portable.idlentity { public Date[] fdatevector; public String[][] fstringmatrix; public Color[] fcolors; public Date[] fdates10; public Example() {} public Example(Date[] fdatevector, String[] fstringmatrix, Color[] fcolors, Date[] fdates10) {... }

11 Módulos Se mapean a paquetes Los tipos definidos dentro del módulo que mapean a clases/interfaces, pertenecerán al correspondiente paquete // IDL module es { module udc { module fbellas { module corba { module clock { module idl { struct TimeOfDay {... // Java package es.udc.fbellas.corba.clock.idl; final public class TimeOfDay implements org.omg.corba.portable.idlentity {... }

12 Interfaces (1) // IDL interface Clock { TimeOfDay gettimeofday(); // Java public interface ClockOperations { TimeOfDay gettimeofday(); } // Este tipo lo utiliza el servidor para implementar // el interfaz public interface Clock extends ClockOperations, org.omg.corba.object, org.omg.corba.portable.idlentity { } // Este tipo lo utiliza el cliente

13 Interfaces (2) También se generan las clases ClockPOA y ClockPOATie Las utiliza el servidor para implementar el interfaz mediante herencia de implementación (ClockPOA) o delegación (ClockPOATie) Se estudian más adelante Object (IDL) se mapea a org.omg.corba.object (Java) nil (IDL) se mapea a null null sólo se puede usar en valores de retorno y parámetros para representar una referencia a objeto remoto o tipo valor (value type) nulos Cada atributo se mapea a dos operaciones con el mismo nombre (una para leer y otra para modificar), excepto si es de tipo readonly (sólo dispone de operación para leer)

14 Interfaces (3) Herencia // IDL interface Thermostat : Thermometer {... // Java public interface ThermometerOperations {... } public interface Thermometer extends ThermometerOperations, org.omg.corba.object, org.omg.corba.portable.idlentity {} public interface ThermostatOperations extends ThermometerOperations {... } public interface Thermostat extends ThermostatOperations, Thermometer, org.omg.corba.portable.idlentity {}

15 Interfaces (y 4) Tipos anidados dentro de interfaces Java no permite anidar clases dentro de interfaces Los tipos IDL (definidos dentro de una interfaz) que mapean a clases se generan en un paquetes especial // IDL module Example { interface Clock { struct TimeOfDay {... TimeOfDay gettimeofday(); // Java package Example.ClockPackage; final public class TimeOfDay implements org.omg.corba.portable.idlentity {... }

16 Constantes (1) Constantes definidas dentro de un interfaz // IDL module Example { interface MyInterface { const float PI = ; // Java package Example; public MyInterfaceOperations {} public interface MyInterface extends MyInterfaceOperations, } org.omg.corba.object, org.omg.corba.portable.idlentity { float PI = ;

17 Constantes (y 2) Constantes definidas fuera de un interfaz // IDL module Example { const float PI = ; // Java package Example; public interface PI { } float value = ;

18 Excepciones (1) Throwable Error Exception RuntimeException org.omg.corba UserException SystemException Excepciones definidas por el usuario en IDL COMM_FAILURE, OBJ_ADAPTER, etc.

19 Excepciones (y 2) Mapping de excepciones definidas por el usuario // IDL typedef short Temperature; exception InvalidTemperature { Temperature selectedtemperature; Temperature minimumpermitedtemperature; Temperature maximumpermitedtemperature; // Java final public class InvalidTemperature extends org.omg.corba.userexception { // Mapping similar al de un struct.

20 Clases Holder (1) Problema: mapear parámetros out e inout a Java // IDL interface Account { void add(in float amount, out float newbalance); //... Paso de parámetros en Java Tipos básicos: por valor Objetos: por referencia Siendo más preciso: todos los parámetros se pasan por valor (cuando se pasan objetos, se pasan referencias por valor) La semántica de paso de parámetros vía out e inout se simula con las clases Holder

21 Clases Holder (2) Mapping a Java public interface AccountOperations { } void add(float amount, //... org.omg.corba.floatholder newbalance); El ORB proporciona clases Holder para los tipos predefinidos package org.omg.corba; final public class FloatHolder } implements org.omg.corba.portable.streamable { public float value; public FloatHolder() {} public FloatHolder(float value) {... } // Otros métodos...

22 Clases Holder (3) Implementación de la operación class AccountImpl extends AccountPOA { private float balance; public void add(float amount, FloatHolder newbalance) { balance = balance + amount; } newbalance.value = balance; //... } Invocación de la operación FloatHolder newbalance = new newbalance(); account.add(10, newbalance); System.out.println(newBalance.value);

23 Clases Holder (4) Para los tipos definidos por el usuario, el compilador de IDL genera clases Holder Mismo nombre que el tipo Java pero con sufijo Holder // IDL struct TimeOfDay { short hour; // 0-23 short minute; // 0-59 short second; // 0-59 interface Clock { void gettimeofday(out TimeOfDay time); Para los tipos definidos con typedef, sólo se generan clases Holder cuando se trata de vectores o secuencias

24 Clases Holder (5) El compilador de IDL genera la clase TimeOfDayHolder final public class TimeOfDayHolder implements org.omg.corba.portable.streamable { public TimeOfDay value; public TimeOfDayHolder() {} public TimeOfDayHolder(TimeOfDay value) {... } // Otros métodos... } Implementación de la operación class ClockImpl extends ClockPOA { public void gettimeofday(timeofdayholder time) { << Obtener hour, minute y second >> TimeOfDay timeofday = new TimeOfDay(hour, minute, second); time.value = timeofday; } //... }

25 Clases Holder (y 6) Invocación de la operación TimeOfDayHolder timeofdayholder = new TimeOfDayHolder(); clock.gettimeofday(timeofdayholder); TimeOfDay timeofday = timeofdayholder.value; Parámetros inout Idem parámetros out, excepto: El llamador debe pasar un valor en el parámetro (excepto que sirva el del constructor por defecto) El llamado puede consultar el valor (value) del Holder, cambiarlo o establecer uno nuevo (holder.value = new... )

26 Concepto Clases Helper (1) Para cada tipo definido por el usuario (inclusive los definidos con typedef) se genera una clase Helper (mismo nombre que el tipo Java pero con sufijo Helper) Permiten hacer downcasting de interfaces remotos Permiten insertar y extraer valores en un Any Ejemplo abstract public class ClockHelper { public static void insert(org.omg.corba.any a, Clock t) {... } public static Clock extract(org.omg.corba.any) {... } public static org.omg.corba.typecode type() {... } } // narrow sólo se genera para Helpers cuyo tipo es un // interfaz remoto public static Clock narrow( org.omg.corba.object obj) {... }

27 Clases Helper (2) El downcasting es un casting de un tipo base (no necesariamente org.omg.corba.object) a un tipo derivado // En el ejemplo Clock... org.omg.corba.object clockobject = orb.string_to_object(stringifiedreference); if (clockobject == null) { } throw new Exception("stringified reference is nil"); Clock clock = ClockHelper.narrow(clockObject); El objeto tiene que ser del tipo derivado (en otro caso se produce una excepción del sistema CORBA) En el ejemplo anterior no sería válido hacer... Clock clock = (Clock)clockObject;... porque puede ser necesario contactar con el servidor (ej.: servidor configurado con arranque automático)

28 Clases Helper (y 3) Inserción y extracción de valores en un Any Inserción RouterEvent routerevent =... org.omg.corba.any event = orb.create_any(); // método factoría RouterEventHelper.insert(any, routerevent); manager.sendevent(event); Extracción public void sendevent(org.omg.corba.any event) { RouterEvent routerevent = RouterEventHelper.extract(event); //... } Si el receptor no sabe cuál es el tipo contenido en el Any, puede utilizar org.omg.corba.any.type() Any proporciona operaciones de inserción y extracción para los tipos predefinidos (insert_float, extract_float, etc.)

29 Paquete org.omg Todos los pseudo-interfaces del ORB y los interfaces de los servicios estándares CORBA pertenecen a subpaquetes de org.omg (ej.: org.omg.corba, org.omg.cosnaming, etc.)

3.1 El lenguaje de especificación IDL

3.1 El lenguaje de especificación IDL 3.1 El lenguaje de especificación IDL El lenguaje de especificación IDL Permite especificar interfaces remotas en un lenguaje neutral El compilador (preprocesador) de IDL genera código para el lenguaje(s)

Más detalles

3.1 El lenguaje de especificación IDL

3.1 El lenguaje de especificación IDL 3.1 El lenguaje de especificación IDL El lenguaje de especificación IDL Permite especificar interfaces remotas en un lenguaje neutral El compilador (preprocesador) de IDL genera código para el lenguaje(s)

Más detalles

Correspondencia de IDL a Java

Correspondencia de IDL a Java Correspondencia de IDL a Java Sistemas Distribuidos: Programación con CORBA Juan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Correspondencia de IDL a Java El

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

OMG - IDL Interface Definition Language

OMG - IDL Interface Definition Language OMG - IDL Interface Definition Language Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica de València Especificación de interfaces OMG IDL Su objetivo es

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

Más detalles

1. Introducción. 1.1 Construcción de una aplicación CORBA

1. Introducción. 1.1 Construcción de una aplicación CORBA 1. Introducción 1.1 Construcción de una aplicación CORBA Toda aplicación CORBA empieza con la definición de las interfaces de los objetos que pueden distribuirse. Para ello se utiliza el lenguaje IDL.

Más detalles

OMG IDL (Interface Definition Language)

OMG IDL (Interface Definition Language) OMG IDL (Interface Definition Language) Sistemas Distribuidos: Programación con CORBA Juan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Facultad de Informática,

Más detalles

Construcciones del Lenguaje Java

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

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

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

Más detalles

CORBA con Java IDL. Francisco Charte Ojeda ! " !# $ "$ % &'(!!! ) % #* %! " +,',' $! '(! $ - # " "! " '( %!.%# %%! +#! '(!! $!!#

CORBA con Java IDL. Francisco Charte Ojeda !  !# $ $ % &'(!!! ) % #* %!  +,',' $! '(! $ - #  !  '( %!.%# %%! +#! '(!! $!!# CORBA con Java IDL Francisco Charte Ojeda Sumario " Introducción # $ "$ % &'( ) % #* % " +,',' $ '( $ - # " " " '( %.%# %% +# '( $ # + $ '( '( ) " / % $ $ "'( El compilador idltojava ). * + #)$ '(". #)00"&'(

Más detalles

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005 24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos

Más detalles

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

Más detalles

Examen Teórico Convocatoria de Junio de 2012

Examen Teórico Convocatoria de Junio de 2012 Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica

Más detalles

Una aplicación sencilla con CORBA y Java

Una aplicación sencilla con CORBA y Java Una aplicación sencilla con CORBA y Java Sistemas Distribuidos: Programación con CORBA Juan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Facultad de Informática,

Más detalles

Tema 2: Introducción a CORBA

Tema 2: Introducción a CORBA Tema 2: Introducción a CORBA Qué es CORBA? (1) Permite invocar métodos de objetos remotos sin que importe el lenguaje en el que estén escritos el llamador y el llamado, ni las plataformas (s.o. y hw.)

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica

Más detalles

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

3.8 Patrón Default servant. Políticas del POA asociadas

3.8 Patrón Default servant. Políticas del POA asociadas 3.8 Patrón Default servant. Políticas del POA asociadas Introducción Cómo minimizar la cantidad de memoria que necesita un servidor para soportar un gran número de objetos? Servant por defecto => permite

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar

Más detalles

Sebastián García Galán

Sebastián García Galán Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán sgalan@ujaen.es Variables y tipos de datos Operaciones y operadores Clases y objetos Tipos

Más detalles

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

3.4 El servicio de nombres. Patrones usados: Iterator y Federation

3.4 El servicio de nombres. Patrones usados: Iterator y Federation 3.4 El servicio de nombres. Patrones usados: Iterator y Federation Introducción En general, que el cliente lea un fichero (con una IOR) para obtener una referencia a un objeto remoto no es aconsejable

Más detalles

Clases abstractas e interfaces en Java

Clases abstractas e interfaces en Java Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura

Más detalles

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles

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

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

Más detalles

Herencia: relación es un

Herencia: relación es un Departamento de Sistemas Informáticos y Computación Universidad Complutense de Madrid de abril de 007 : relación es un I Seres materiales Seres inertes Seres vivos Coches Plantas Animales Renault Flores

Más detalles

2. Tratamiento de objetos con JAVA

2. Tratamiento de objetos con JAVA 2. Tratamiento de objetos con JAVA David Contreras Bárcena (ETSI) - Comillas 71 2.1 Ciclo de Vida de los Objetos Los objetos tienen un tiempo de vida y consumen recursos durante el mismo. Cuando un objeto

Más detalles

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

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

Más detalles

Práctica 5: Common Object Request Broker Architecture CORBA

Práctica 5: Common Object Request Broker Architecture CORBA Práctica 5: Common Object Request Broker Architecture CORBA Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es entender mejor el funcionamiento de CORBA (Common Object Request Broker

Más detalles

OMG - CORBA. Object Management Group. Common Object Request Broker (CORBA) http://www.omg.org. http://www.corba.org

OMG - CORBA. Object Management Group. Common Object Request Broker (CORBA) http://www.omg.org. http://www.corba.org OMG - CORBA Object Management Group http://www.omg.org Common Object Request Broker (CORBA) http://www.corba.org OMG - CORBA Objetivo OMG proveer un marco de arquitectura común n para aplicaciones orientadas

Más detalles

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno 1.1. Gramática Léxica 1.1.1. Elementos Léxicos Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno ->

Más detalles

Estructura de datos y Programación

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

Más detalles

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

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.

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya ELEMENTOS BÁSICOS DE C++: DECLARACIÓN DE VARIABLES A través de operaciones aritméticas (suma, resta, etc.) y lógicas (por ejemplo, comparaciones) los programas manipulan datos tales como números y caracteres.

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

Sistemas de Información

Sistemas de Información Sistemas de Información Tecnologías de objetos distribuidos: CORBA: El lenguaje IDL (Invocación estática) Agradecimientos: Jesus Villamor Lugo, Simon Pickin de IT/UCIIIM, Juan Pavón UCM, Fernándo Bellas

Más detalles

Examen Teórico. Convocatoria de Febrero de 2015

Examen Teórico. Convocatoria de Febrero de 2015 Examen Teórico Convocatoria de Febrero de 2015 Nombre: DNI: Grupo: 1. Contesta de forma razonada a las siguientes cuestiones relacionadas con los ficheros.jar: a) Para qué se utilizan los ficheros con

Más detalles

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

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

Más detalles

Implementación de clientes con CORBA y Java

Implementación de clientes con CORBA y Java Implementación de clientes con CORBA y Java Sistemas Distribuidos: Programación con CORBA Juan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Facultad de Informática,

Más detalles

POO: Clases y objetos

POO: Clases y objetos POO: Clases y objetos Programación de aplicaciones 1 Introducción En los lenguajes de programación orientados a objetos, tenemos la posibilidad de extender el lenguaje mediante la creación de nuevo tipos,

Más detalles

3.3 Conceptos Básicos del Lenguaje Java

3.3 Conceptos Básicos del Lenguaje Java 3.3 Conceptos Básicos del Lenguaje Java Conjunto de Caracteres Java utiliza Unicode, un conjunto de caracteres de 16 bits Java permite leer ASCII de 7-bit o Latin-1, conviertiéndolo a Unicode Son pocos

Más detalles

Tema 1. Herencia y Polimorfismo

Tema 1. Herencia y Polimorfismo ÍNDICE EDA. Unidad didáctica I: Conceptos de Java para Estructuras de Datos Tema 1. Herencia y Polimorfismo 1. Relaciones entre clases: Reutilización del software. 2. La Herencia como soporte Java del

Más detalles

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

- 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

Más detalles

JAVA 1. Introducción

JAVA 1. Introducción Diseño de Interfaces de Usuario JAVA. Introducción. Características Portabilidad Interpretado (bytecodes) Uso de Máquina Virtual Java (JVM) Orientado a Objetos Jerarquía de clases Extensible (packages)

Más detalles

Módulo 1. Programación Orientada a Objetos. Programación Orientada a Objetos Página 1.0 de 25

Módulo 1. Programación Orientada a Objetos. Programación Orientada a Objetos Página 1.0 de 25 Módulo 1. Programación Orientada a Objetos. Programación Orientada a Objetos Página 1.0 de 25 Objetivos. Definir los conceptos de: abstraccción y encapsulamiento. Entender el concepto de paquete. Definir

Más detalles

Diseño de tipos Igualdad, representación, código, copia y relación de orden

Diseño de tipos Igualdad, representación, código, copia y relación de orden Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones

Más detalles

3.3 Aspectos básicos del ORB y el POA

3.3 Aspectos básicos del ORB y el POA 3.3 Aspectos básicos del ORB y el POA Pseudo-IDL Problema: especificación del interfaz del ORB en el documento de especificación CORBA En qué lenguaje está especificado? En Pseudo-IDL (PIDL) Similar a

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

Más detalles

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

Curso de Java Introducción a la Programación II Curso de Java Introducción a la Programación II Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Tipos Java 2 Decalaración de variables 3 Operadores aritméticos Índice

Más detalles

Introducción general al Lenguaje C (2010/2011)

Introducción general al Lenguaje C (2010/2011) Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Introducción general al Lenguaje C (2010/2011) Universidad de Sevilla Índice

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

Más detalles

Unidad Didáctica 10. Concepto de Tipo y Subtipo Diseño e Implementación. Versión 1.0.0

Unidad Didáctica 10. Concepto de Tipo y Subtipo Diseño e Implementación. Versión 1.0.0 Unidad Didáctica 10 Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Índice 1. Concepto de Tipo y Subtipo 2.

Más detalles

XDR: Estándar de Representación Externa de Datos

XDR: Estándar de Representación Externa de Datos RFC1832 Agosto 1995 (resumido por Juan A. Ternero) XDR: Estándar de Representación Externa de Datos 1. INTRODUCCIÓN XDR es un estándar para la descripción y representación de datos. XDR usa un lenguaje

Más detalles

5.3 Diseño por capas con Servicios Web

5.3 Diseño por capas con Servicios Web 5.3 Diseño por capas con Servicios Web Diseño por capas Misma idea que en CORBA Interfaz de usuario (no WS) Capa de traducción y delegación (WS) Capa de traducción y delegación (WS) IDL Capa de lógica

Más detalles

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

Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java Profesor: Jorge Escalona / Tobías Bolívar Email: escaljorge@gmail.com / tobiasbolivar@gmail.com Web: http://estructuradatos.tripod.com 1 Qué

Más detalles

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens Introducción a Java Juan Manuel Fernández Peña Curso 2005. Rev 2011 Comentarios: //comentario /* comentario fin de comentario */ /** comentario para javadoc fin */ Palabras reservadas: (como ejemplo) abstract,

Más detalles

APLICACIONES EMPRESARIALES CON JEE. Profesores: Andrés Farías

APLICACIONES EMPRESARIALES CON JEE. Profesores: Andrés Farías APLICACIONES EMPRESARIALES CON JEE Profesores: Andrés Farías Agenda INTRODUCCIÓN REACH Introducción Evolución de las aplicaciones Global WEB APPLICATIONS 2004 RICH INTERNET APPLICATIONS (RIAs) 1998 Local

Más detalles

CORBA desde Java. Diego Sevilla Ruiz Sistemas Distribuidos. 1. Introducción

CORBA desde Java. Diego Sevilla Ruiz Sistemas Distribuidos. 1. Introducción CORBA desde Java Diego Sevilla Ruiz Sistemas Distribuidos Índice 1. Introducción 1 2. Primeros pasos 1 2.1. Fichero IDL................................... 1 2.2. Cliente......................................

Más detalles

XDR (External Data Representation) Tipos y codificación. Universidad de Oviedo / Dpto. de Informática

XDR (External Data Representation) Tipos y codificación. Universidad de Oviedo / Dpto. de Informática XDR (External Data Representation) Tipos y codificación Tipos implícitos Características La codificación (big endian) ocupa siempre un tamaño múltiplo de 4 bytes (rellenando con ceros por la dcha) Se asume

Más detalles

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente. HERENCIA (2ª parte) Lenguajes de Programación - Orientación a Objetos: Herencia 2ª parte 1 Object En Java todas las clases derivan de otra, aunque no se diga explícitamente. Object: Es el nombre de la

Más detalles

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de

Más detalles

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

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

Más detalles

3.3 Aspectos básicos del ORB y el POA

3.3 Aspectos básicos del ORB y el POA 3.3 Aspectos básicos del ORB y el POA Pseudo-IDL Problema: especificación del interfaz del ORB en el documento de especificación CORBA En qué lenguaje está especificado? En Pseudo-IDL (PIDL) Similar a

Más detalles

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Clase Object. Autoboxing. Igualdad de objetos. Copia de objetos.

Más detalles

Manejo de Clases y Objetos. Manejo de Clases y Objetos

Manejo de Clases y Objetos. Manejo de Clases y Objetos Cod. 1728.61 PLATAFORMA.NET Y SERVICIOS WEB nestor@lsi lsi.uniovi.es Dpto. de Informática - Laboratorio de Tecnologías de Orientación a Objetos http://www www.ootlab.uniovi.es CONCEPTOS BÁSICOS Objeto:

Más detalles

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Interfaces. Clase Object. Autoboxing. Copia de objetos. Igualdad

Más detalles

Tipos de Datos en C. Palabras reservadas en C

Tipos de Datos en C. Palabras reservadas en C Tipos de Datos en C Tipo Tamaño de bits Rango char 8-128 a 127 unsigned char 8 0 a 255 signed char 8-128 a 127 int 16 32768 a 32767 unsigned int 16 0 a 65535 signed int 16 Igual que int short int 16 Igual

Más detalles

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Justificación: Se pretende con éste contribuir a que el alumno se inicie y conozca el entorno del IDE en la creación de pequeños programas en java Objetivos:

Más detalles

Tema 2.- Objetos y mensajes

Tema 2.- Objetos y mensajes Tema 2.- Objetos y mensajes 1. Objetos y mensajes: mecanismo de envío de mensajes...2 2. SMALLTALK: EXPRESIONES...3 2.1. LITERALES: designan objetos constantes...3 2.2. NOMBRES DE VARIABLES: identifican

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

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

Excepciones. Excepciones

Excepciones. Excepciones Excepciones FJP Unidad 12 Excepciones Una excepción es la representación de una condición de error o cualquier situación no esperada en el resultado de un método. Son instancias de subclases de la clase

Más detalles

Examen Teórico. Convocatoria de Julio de 2015

Examen Teórico. Convocatoria de Julio de 2015 Examen Teórico Convocatoria de Julio de 2015 Nombre: DNI: Grupo: 1. Sobre la ejecución de aplicaciones Java desde la línea de comandos: a) Explica el significado y uso del parámetro cp. b) Indica si la

Más detalles

Java. Introducción a la Programación Orientada a Objetos

Java. Introducción a la Programación Orientada a Objetos 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

Reutilización con Delegación y Herencia

Reutilización con Delegación y Herencia Reutilización con Delegación y Herencia Carlos Fontela cfontela@fi.uba.ar Temario Delegación Herencia UML: clases, paquetes, secuencias Cuándo usar herencia y cuándo delegación Redefinición Clases abstractas

Más detalles

Tema 2: Programación basada en Objetos

Tema 2: Programación basada en Objetos Tema 2: Programación basada en Objetos Programación Orientada a Objetos Marcos López Sanz Máster en Informática Gráfica, Juegos y Realidad Virtual Índice Objetivos Introducción Vista Pública Clases Objetos

Más detalles

5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB

5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB 5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB Introducción La arquitectura de la capa modelo de MiniBank es igual que la de MiniPortal Paquetes nuevos en la capa modelo

Más detalles

3.9 Patrón Distributed callback

3.9 Patrón Distributed callback 3.9 Patrón Distributed callback Motivación (1) Queremos que la aplicación de administración de los termostatos Monitorize la temperatura de algunos termostatos, avisándonos si ésta baja o sube por encima

Más detalles

Estructuras de control selectivas

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

Más detalles

TEMA 5. Agenda. Herencia

TEMA 5. Agenda. Herencia TEMA 5 Herencia V1.3 Manuel Pereira González Agenda Implementación Métodos Heredados vs Sobreescritos La Clase Object Resumen 1 Introducción Herencia Una clase (subclase ó clase hija) hereda la estructura

Más detalles

INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases

INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases INDICE Prologo XIII 1 Recorrido rápido de java 1.1. Para empezar 1 1.2. Variables 2 1.3. Comentarios en el condigo 1.4. Constantes con nombre 5 1.4.1. Caracteres Unicode 6 1.5. Flujo de control 7 1.6.

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

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

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Contenidos: 1. Definición de clases 2. Implementación de los métodos 3. Constructores y destructores 4. Objetos

Más detalles

Práctica No. 2. Tipos de Datos y Entrada/Salida Estándar

Práctica No. 2. Tipos de Datos y Entrada/Salida Estándar Práctica No. 2. Tipos de Datos y Entrada/Salida Estándar Comenzar creando un nuevo proyecto tipo Java llamada Practica02, crear también la clase principal. En el método main, se declararán varios de los

Más detalles

Curso Informática Lección 3. Tipos de datos, constantes y variables

Curso Informática Lección 3. Tipos de datos, constantes y variables Fundamentos de Informática Lección 3. Tipos de datos, constantes y variables Curso 2010-2011 José Ángel Bañares y Pedro Álvarez 24/09/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión II La Sintaxis de Java I... 6 Tipos de Datos... 7 Tipos de Datos Simples... 8 Tipos de datos Referenciales...

Más detalles

3.5 Patrones básicos para favorecer la eficiencia, la escalabilidad y el mantenimiento

3.5 Patrones básicos para favorecer la eficiencia, la escalabilidad y el mantenimiento 3.5 Patrones básicos para favorecer la eficiencia, la escalabilidad y el mantenimiento Introducción Parámetros en conflicto en todo diseño Eficiencia Mantenimiento Escalabilidad Un buen diseño balancea

Más detalles

PROGRAMACIÓN GENÉRICA

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

Más detalles

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

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

Más detalles

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,

Más detalles

Programación Tema 7: Relaciones entre clases. Programación DIT-UPM

Programación Tema 7: Relaciones entre clases. Programación DIT-UPM Programación Tema 7: Relaciones entre clases 1 Contenidos l Polimorfismo l Implementación de interfaces l Uso de interfaces l Jerarquías de interfaces l Extensión l Jerarquía de extensión 2 Polimorfismo

Más detalles

Tema 2: Clase y objetos en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 2: Clase y objetos en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 2: Clase y objetos en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Introducción. Clases. Propiedades. Visibilidad. Espacios de nombres. Ensamblados. Tipos del lenguaje.

Más detalles

PROTOCOLOS PARA LA INTERCONEXIÓN DE REDES

PROTOCOLOS PARA LA INTERCONEXIÓN DE REDES UNIVERSIDAD DE CANTABRIA DEPARTAMENTO DE INGENIERÍA DE COMUNICACIONES GRUPO DE INGENIERÍA TELEMÁTICA PROTOCOLOS PARA LA INTERCONEXIÓN DE REDES PRÁCTICA 4: DESARROLLO DE APLICACIONES CLIENTE/SERVIDOR MEDIANTE

Más detalles

Los tipos de datos primitivos

Los tipos de datos primitivos Los tipos de datos primitivos El lenguaje de programación Java es de tipo estático, lo que significa que todas las variables debe ser declarado antes de que puedan ser utilizados visto. Se trata de la

Más detalles

Práctica 5. Fecha límite de entrega: viernes, 14 de diciembre

Práctica 5. Fecha límite de entrega: viernes, 14 de diciembre Algoritmos http://www.lfcia.org/alg/ 2007-2008 Ingeniería Informática Ingeniería Técnica de Informática de Gestión Práctica 5 Fecha límite de entrega: viernes, 14 de diciembre Implementación de un Diccionario

Más detalles