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