Java
Introduccin
MetodologiaiProgramaci
OrientadaaObjectes(MPOO)
ndice
PlataformaJava
Sintaxis
Declaracinclasesyobjetos
Ejemplos
PlataformaJava Caractersticas
Javaesmsqueunlenguaje,esunaplataforma
Orientadaaobjetos
Distribuida
Simple
Multithread
Segura
Independientedemquina
Gestindinmicadelamemoria
Orientadoaobjetos
OOP(Object Oriented Programming)basadoenC++
Programacinprocedural vsProgramacinOrientadaaObjetos
Creacine
interaccinde
pasos
Creacine
interaccinde
objetos
Distribuido
Proporcionasoporteparatecnologasdered
distribuidas
Ejemplos:RMI,CORBA
Disponedecapacidaddecargadinmicadeclases
Permitepoderejecutartrozosdecdigodescargados
deinternetparaserejecutadosenelordenador
personal
Simple
Noseutilizanconstruccionescomplejasde
programacin
Nosepermiteelusodepunterosamemoria(se
manipulanobjetosusandoreferenciasaobjetos)
Existeeltipobooleano
Garbagecollector:monitoriza/eliminaobjetosno
usados
Multithread
JAVAfacilitaalprogramadorlacreacinde
hilosdeejecucin(Threads)
Seguro
Prohbelamanipulacindepunteros
Nopermiteelusodeprogramasdistribuidosque
leanoescribaneneldiscoduro
VerificaquelosprogramasJAVAcontienencdigo
vlido
Soportafirmasdigitales
IndependientedePlataforma
ElmismoprogramaenJAVApuedeser
ejecutadoendistintasplataformas
Gestindinmicadememoria
Javagestionadinmicamentelamemoria
Crearlosobjetos
Destruirobjetosmedianteelrecolectordebasura
Nonoshemosdepreocupardedeterminar
cuantamemoriasevaausar(Ej:listas,conjuntos)
Nodesperdiciaremosmemoria
OtroslenguajescomoCoC++
Sintaxis
AdoptadeC:
Tiposbsicos:int, char, float ...
Operadores:+, -, *, <, >, !, |
Sentenciascondicionales:if, else, else-if
Sentenciasiterativas:for, while, do-while
Llamadasafunciones:x=func(y)
Nuevos:
Tipos:byte, boolean
Definicindeclases:class
Visibilidadelementos:public, private, protected
Llamadasamtodosdeobjetos:[Link](x)
Accesoaatributos:[Link]
Packages/import
Noseutilizan:
Punteros:*p, &x
Directivasdepreprocesador:#include, #define
Datos
Tiposdedatosbsicos porvalor
int x, y, z;
x=5;
y=x/2;
z=x%2;
ObjetosyVectores porreferencia
String a, b;
a=new String(Hola);
b=new String(Adios);
a=b;
EstructuradeunaaplicacinJava
Formadaporalmenosunaclasequedefine
unmtodomain
public class CMiApplication{
public static void main(String[] args)
{
//Cdigo a ejecutar
}
}
Iniciayfinalizalaejecucindelaaplicacin
Definicindeclases
[modificador] class CEjemplo{
//atributos
[modificador] tipoAt1 nomAt1;
...
[modificador] tipoAtN nomAtN;
//mtodos
[modificador] tipoRetorno nomMetodo1(tipoPar1
nomPar1, ..., tipoParN nomParN){
//Cdigo mtodo
}
...
[modificador] tipoRetorno nomMetodoN(tipoPar1
nomPar1, ..., tipoParN, nomParN){
//Cdigo mtodo
}
}
Ejemplo Cuentabancaria
class Cuenta{
//atributos
String numero;
String titular;
float saldo;
//mtodos
void ingresarDinero (float cantidad){...}
void retirarDinero (float cantidad) {...}
float consultarSaldo() {...}
}
Objetos
Declaracin
ClaseEj miObj=new ClaseEj();
Cuenta miCuenta=new Cuenta();
ClaseEj miObj=null;
Cuenta miCuenta=null;
Accesoaatributos
miObj.atributo1
[Link]
Accesoamtodos
miObj.metodo1()
[Link]()
Ejercicio:Reproductormsicaonline
Enlaaplicacintendremos:
[Link],emailycontrasea
Canciones [Link],
duracin,autoryelnmerodereproducciones
Losusuariosseautenticanenlaaplicacinmedianteelmtodo
boolean autenticar (String mail, String cont);
Compruebasielmailylacontraseaquesepasancomoparmetroscoincidencon
elemailycontraseaguardadoscomoatributosdelusuario
Devuelvetrueencasodequecoincidanyfalseencasocontrario
Cuandounusuarioreproduceunacancinseincrementaelnmerode
reproduccionesdedichacancinmedianteelmtodo:
void reproducir();
Ejercicio:
1. ImplementarlasclasesUsuarioyCancin
2. CrearunaobjetodelaclaseUsuarioyotrodelaclaseCancindandovaloresasus
atributos
3. Elusuariocreadointentarreproducirlacancinysloselepermitirenelcaso
queseautentiquecorrectamente