Download b - Universidad de Jaén
Document related concepts
no text concepts found
Transcript
DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán [email protected] INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Ø Ø Ø Ø Ø Ø Ø Ø Ø Variables y tipos de datos Operaciones y operadores Clases y objetos Tipos de clases Modificadores para variables y métodos Paquetes Herencia Polimorfismo Estructuras de control INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Variables y tipos de datos Obligado Ø No pueden contener espacios en blanco. Ø Dos variables no pueden tener el mismo nombre. Ø No podemos utilizar palabras reservadas de Java. Recomendado Ø Las variables comienzan por una letra minúscula. Ø Si la variable está compuesta por dos o más palabras, la segunda ( y siguientes) comienzan por letra mayúscula. Ø Los nombres de las clases comienzan por letra mayúscula. INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Variables y tipos de datos * * byte short int long float double char boolean Ocho bits. Número entero de 16 bits. Número entero de 32 bits. Número entero de 64 bits. Número de punto flotante de 32 bits. Número de punto flotante de 64 bits. Carácter ASCII. Valor verdadero o falso. * No diponible en CLDC 1.0. Operaciones y operadores Asignación Aritmética Relacional Lógica A nivel de bit. INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Operadores de asignación a a a a a a a +=b -=b *=b /=b %= b &= b |=b Operadores aritméticos a=a+b a=a-b a=a*b a=a/b a=a%b a=a&b a=a|b Unitarios ++a a++ --a a-Binarios Operadores relacionales a a a a a a >b <b >= b <= b ==b != b true si a es mayor que b true si a es menor que b true si a es mayor o igual que b true si a es menor o igual que b true si a es igual que b true si a es distinto que b INGENIERÍA DE TELECOMUNICACIÓN pre-incremento post-incremento pre-decremento post-decremento a+b a-b a*b a/b a%b DPTO. TELECOMUNICACIONES -- Suma Resta Producto Cociente Resto ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Operadores lógicos a && b a || b !a true si a y b son verdaderos true si a o b son verdaderos true si a es false Operadores de bits a >> b a << b a <<< b a&b a|b a^b ˜a Desplaza los bits de a hacia la derecha b veces Desplaza los bits de a hacia la izquierda b veces igual que el anterior pero sin signo Suma lógica entre a y b O lógico entre a y b O exclusivo entre a y b Negación lógica de a INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Clases y Objetos Declaración de una clase class Nombre _clase { // variables de la clase (atributos) ... // métodos de la clase } Declaración de un método tipo NombreMétodo (tipo1 arg1, tipo2 arg2, ...) { // cuerpo del método (código) ... } class Coche { // variables de clase int velocidad; Declaración del objeto // métodos de la clase void acelerar (int nuevaVelocidad){ velocidad = nuevaVelocidad; } void frenar(){ velocidad=0; } Coche miCoche= new Coche(); // acelerar miCoche.acelear(100); // frenar miCoche.frenar(); } } INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Ø Método especial denominado constructor. Es un método que se llama exactamente igual que la clase a la que pertenece. Cuando se crea un objeto con new, el método constructor es ejecutado de forma automática. Ø Si un método tiene algún tipo de retorno, quiere decir que ha de devolver un valor de dicho tipo. Esto se hace mediante la palabra reservada return. Ejemplo: return vidas; INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Tipos de Clases abstract. Tiene al menos un método abstracto. Una clase abstracta sólo puede ser heredada para implementar los métodos abstractos que contiene. En ningún caso podemos instanciar un objeto de este tipo. final. Una clase final no puede ser heredada por ninguna otra public. Puede ser accedida por otras clases pertenecientes al mismo paquete, o por cualquier otra siempre que sea heredada o importada. synchronizable. INGENIERÍA DE TELECOMUNICACIÓN Sólo puede ser accedida por un solo thread a la vez. Se utiliza en aplicaciones multihebra para asegurar que no hay problemas de sincronización entre hilos. DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Modificadores para variables y métodos public. Se puede acceder desde fuera de la clase a la que pertenece. protected. Sólo las subclases pueden acceder a este miembro de la clase. private. Sólo se puede acceder a la variable o al método desde el interior de la clase. friendly. Es la opción por defecto. Permite sólo el acceso desde las clases pertenecientes al mismo paquete. INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Paquetes Un paquete nos permite agrupar varias clases bajo un nombre común. Cuando se crea un paquete, todas las clases incluidas se almacenan en un mismo directorio con el nombre del paquete. Indicamos la pertenencia de una clase a un paquete con la palabra reservad package al principio del archivo fuente. Ejemplo: package nombre_del_paquete Para utilizar un paquete hay que importarlo. Para ello se utiliza la palabra reservada import. Ejemplo: import nombre_del_paquete; INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Herencia Tras el nombre de la clase se ha añadido la palabra extends seguido de la clase padre, es decir, de la cual heredamos los métodos y atributos. La clase CochePolicia posee 2 atributos: velocidad sirena class CochePolicia extends Coche{ // variables int sirena; //métodos void sirenaOn(){ sirena=1; } void sirenaOff(){ sirena=0; } La clase CochePolicia posee 4 métodos: acelerar frenar sirenaOn sirenaOff INGENIERÍA DE TELECOMUNICACIÓN } DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Polimorfismo Existen dos métodos con el mismo nombre, Java sabe cual debe utilizar en función del parámetro con el que se llame. Esta situación se denomina sobrecarga del método. class Coche { // variables de clase int velocidad; // métodos de la clase void acelerar (int nuevaVelocidad){ velocidad = nuevaVelocidad; } void frenar(){ velocidad=0; } void frenar(int velocidad){ if (velocidad<this.velocidad) this.velocidad=velocidad; } La palabra reservada this se utiliza para indicar que a la variable a la que nos referimos es la variable de la clase, y no la que se ha pasado como parámetro. } INGENIERÍA DE TELECOMUNICACIÓN DPTO. TELECOMUNICACIONES -- ÁREA DE INGENIERÍA TELEMÁTICA DESARROLLO DE APLICACIONES APLICACIONES PARA TELEFONÍA MÓVIL INTRODUCCIÓN AL LENGUAJE JAVA Estructuras de control If (vidas==0){ terminar=true; } else { vidas--; } try { sentencias; } catch (excepcion) { sentencias; } INGENIERÍA DE TELECOMUNICACIÓN Switch (posicion){ case 1: medalla=“oro”; break; case 2: medalla=“plata”; break; case 3: medalla=“bronce”; break; default: medalla=“sin medalla”; break; } DPTO. TELECOMUNICACIONES -- for (i=1; i<=10; i++){ suma+=i; } vueltas=10; while (vueltas>0){ vueltas--; } vueltas=10; do{ vueltas--; } while (vueltas>0); ÁREA DE INGENIERÍA TELEMÁTICA