Curso Java MCI - 1

42
Curso de Programación Java SE 8 Héctor Carrasco Burgos [email protected] Julio 2015

description

Curso de Java en español

Transcript of Curso Java MCI - 1

Curso  de  Programación    Java  SE  8  

Héctor  Carrasco  Burgos  [email protected]  Julio  2015  

Orígenes  de  Java  

En  1991  los  ingenieros  de  la  compañía  “Sun  Microsystems”  no  estaban  conformes   con   el   rendimiento   de   C++,   por   lo   que   comenzaron   el  desarrollo   de   un   lenguaje   que   facilitara   el   desarrollo   y   despliegue   de  aplicaciones  y  sistemas.  

Este  nuevo  lenguaje  tendría  que  obviar  problemas  que  presenta  C++,  en  campos   tales   como   la   programación   distribuida,   las   aplicaciones  mulShilo,  el  manejo  de  la  memoria  y  ser  más  sencillo  de  manejar  que  C++      Sun  Microsystems  fue  adquirido  en  el  2010  por  Oracle.  

Java  es  una  plataforma  tecnológica  para  el  desarrollo  y  ejecución  de  SoUware.  

¿Qué  es  Java?    

Java  es  una  plataforma  tecnológica  para  el  desarrollo  y  ejecución  de  SoUware.  

¿Qué  es  Java?    

Java  SE  8    •  ConSene   las   capacidades   necesarias   para   desarrollar   aplicaciones   para  

ser  ejecutados  tanto  en  equipos  Spo    desktop,  servidores  y  aplicaciones  para  Android.  

•  Actualmente,   julio   2015,   Java   es   un   lenguaje   de   programación   mulS-­‐paradigma.  •  Procedural  •  Orientado  a  Objetos  •  Genérica  •  Funcional  (Java  SE  8)  

•  MulSplataforma,  “programa  una  vez,  ejecútalo  donde  sea”.  

•  Según  Oracle,  el  97%  computadores  en  empresas,  cerca  de  3  billones  de  disposiSvos  y  el  100%  de  todos  los  Blue-­‐ray  ejecutan  y  uSlizan  Java.  

   

La  Plataforma  Java  

Java  EE    •  USlizado  en  un  amplio  espectro  de  aplicaciones  a  nivel  empresarial  que  

requieren  sistemas  intercomunicados  a  través  de  Internet  y  la  Web.    •  Se  accede  a  estas  aplicaciones  y  se  uSlizan  por  medio  de  un  navegador  

Web,  pero  se  almacenan  y  se  ejecutan  en  servidores  web.  

•  ConSene  APIs,   librerías   y   subsistemas   especializados  para   comunicarse  con  disSntos  Spos  de  bases  de  datos.  

•  ConSene   APIs   especializadas   para   agregar   capas   de   seguridad   a   los  sistemas  y  aplicaciones  web.  

•  Altamente   robusto,   rápido   y   compaSble   con  muchas   tecnologías   para  generar  contenido  enriquecido  en  la  web.  

     

La  Plataforma  Java  

Java  EE    

     

La  Plataforma  Java  

Java  ME    •  Actualmente  en  decadencia,  pero  aún  así  muy  uSlizado  en  la  industria.  

•  Orientado  al  desarrollo  de  aplicaciones  para  disposiSvos  integrados  de  recursos  limitados,  tales  como  reproductores  MP3,  decodificadores  de  TV,  smartwatches,  etc.    

•  Es  un  subconjunto  de  la  plataforma  Java  SE.  

•  Reimpulsado  por  Oracle  para  el  desarrollo  de  aplicaciones  de  Spo  IoT.  

     

La  Plataforma  Java  

Proceso  de  Desarrollo  2pico    •  Consta  de  5  etapas:  

1.   Desarrollar  /  Editar  

2.  Compilar  

3.  Cargar  

4.  Verificar  

5.  Ejecutar  

     

La  Plataforma  Java  

Proceso  de  Desarrollo  2pico    

1.  Desarrollar  /  Editar  

 

   Consiste   en   la   escritura   de   código   por   parte   de   un   ser   humano   usando  cualquier  editor  de  texto  disponible  en  algún  sistema  operaSvo  moderno.    Preferentemente  para  esta  etapa  se  uSliza  un  IDE  (Ambiente  de  desarrollo  Integrado).  

La  Plataforma  Java  

Proceso  de  Desarrollo  2pico    •  Consta  de  5  etapas:  

1.  Desarrollar  /  Editar  

2.   Compilar  

3.  Cargar  

4.  Verificar  

5.  Ejecutar  

     

La  Plataforma  Java  

Proceso  de  Desarrollo  2pico    

2.  Compilar  el  Código  a  bytecodes  

 

   Como  el  ptulo  dice,  transforma  el  lenguaje  humano  del  código  fuente  de  un  programa   a   bytecode,   el   cual   es   interpretado   por   la   Máquina   virtual   de  Java.    Ejecutar  en  la  terminal:                javac  welcome.java      

La  Plataforma  Java  

Proceso  de  Desarrollo  2pico    •  Consta  de  5  etapas:  

1.  Desarrollar  /  Editar  

2.  Compilar  

3.   Cargar  

4.  Verificar  

5.  Ejecutar  

     

La  Plataforma  Java  

Proceso  de  Desarrollo  2pico    

3.  Cargar  el  Programa  a  memoria            

       La  JVM  lleva  el  programa  contenido  en  archivos  .class  a  memoria  principal  para   poder   ejecutarlo,   lleva   además   cualquier   otro   archivo   .class   que   se  requiera  para  el  correcto  funcionamiento.    

La  Plataforma  Java  

Proceso  de  Desarrollo  2pico    •  Consta  de  5  etapas:  

1.  Desarrollar  /  Editar  

2.  Compilar  

3.  Cargar  

4.   Verificar  

5.  Ejecutar  

     

La  Plataforma  Java  

Proceso  de  Desarrollo  2pico    

4.  Verificar  

 

   Consiste  en  la  escritura  de  código  por  parte  de  un  ser  humano  usando  cualquier  editor  de  texto  disponible  en  algún  sistema  operaSvo  moderno.      El  verificador  de  bytecode  examina  que  el  bytecode  sea  válido  y  no  viole  la  restricciones  de  seguridad  de  Java.      

La  Plataforma  Java  

Proceso  de  Desarrollo  2pico    •  Consta  de  5  etapas:  

1.  Desarrollar  /  Editar  

2.  Compilar  

3.  Cargar  

4.  Verificar  

5.   Ejecutar  

     

La  Plataforma  Java  

Proceso  de  Desarrollo  2pico    

5.  Ejecución  

 

   Consiste  en  la  escritura  de  código  por  parte  de  un  ser  humano  usando  cualquier  editor  de  texto  disponible  en  algún  sistema  operaSvo  moderno.      En   la   actualidad   las   instrucciones   almacenadas   en   el   bytecode   son  ejecutadas  por  la  JVM  y  en  algunas  arquitecturas  el  bytecode  es  traducido  a  lenguaje   de   máquina,   ejecutando   el   programa   directamente   por   el  computador.  

La  Plataforma  Java  

Java  Virtual  Machine  (JVM)      

             

La  Plataforma  Java  

Bytecode      

             

La  Plataforma  Java  

Java  RunLme  Enviroment  (JRE)      

             

La  Plataforma  Java  

Java  Development  Kit  (JDK)      

             

La  Plataforma  Java  

¿Qué  es  un  objeto?    Todo   lo   que   podamos   representar   mediante   atributos   (por   ej:   color,  nombre,   tamaño)   y   comportamiento   (por   ej:   frenar,   acelerar,   volar,  encender)  

             

Orientación  a  Objetos  

Todo  es  un  objeto    La  demanda  hoy  día  es  uSlizar  técnicas  y  herramientas  para  crear  soUware  de  mayor  calidad,  más  poderoso  y  a  un  menor  costo.  

 •  Disminuir  el  Sempo  de  desarrollo  •  Disminuir  costos  en  el  desarrollo  •  Maximizar  la  calidad  •  Otras  métricas.    

La   orientación   a   objetos   (POO)   contribuye   a   responder   a   estas   métricas  uSlizando  los  objetos  como  piezas  de  código  reusables,  fáciles  de  entender,  fáciles  de  mantener  y  desarrollar.    Hay  objetos  de  Sempo,  objetos  de  audio,  objetos  de  imágenes,  objetos  de  video,   objetos   de   personas,   etc.   Todo   sustanSvo   es   potencialmente   un  objeto.    

             

Orientación  a  Objetos  

El  Objeto  Automóvil    

             

Orientación  a  Objetos  

El  Objeto  Automóvil    -­‐  Ejercicio    

                     

Elabora  una  lista  de  atributos  y  métodos.  

Orientación  a  Objetos  

Objetos  y  Clases            

   Pensemos  en  las  clases  como  las  planSllas  de  los  objetos.    

Orientación  a  Objetos  

Instanciar  un  objeto    

  Antes   de   manejar   un   automóvil,   este   debe   exisSr,   y   es  creado   por   algún   fabricante   de   automóviles   siguiendo   los  planos   de   fabricación   previamente   creados   en   un   proceso   de  ingeniería  automotriz.    Este   proceso   de   creación   es   llamado   instanciación.   De   ahí   en  adelante   podemos   decir   que   ese   automóvil   creado   es   una  instancia   de   la   clase   automóvil   establecido   en   el   plano   de  fabricación.                    

Orientación  a  Objetos  

Mensajes  y  llamadas  a  métodos    Cuando   conduces   un   automóvil   y   presionas   el   acelerador   le   envías   un  mensaje   al   automóvil   para   que   ejecute   una   acción,   en   este   caso   sería:   ir  más  rápido.    Cada  mensaje  es  implementado  como  un  método  el  cual  ejecuta  una  tarea  o  una  acción.    

Orientación  a  Objetos  

Mensajes  o  llamadas  a  métodos      

Orientación  a  Objetos  

Encapsulación    En  la  vida  real,  los  objetos  se  comunican  e  interactúan  entre  sí.    Piensa  en  un  objeto  de  la  clase  Policía,  piensa  ¿que  atributos  o  métodos  le  interesaría  saber  de  un  objeto  de  la  clase  conductor  y/o  vehículo?      

Orientación  a  Objetos  

Herencia    Una   nueva   clase   de   objeto   puede   ser   creada   convenientemente   usando  herencia.    •  Las  nuevas  clases  (sub  clases)  comienzan  con  el  estado  de  la  clase  padre  

(llamada  súper  clase)  

 

Orientación  a  Objetos  

Interfaces    Java   soporta   el   concepto   de   Interfaces,   caracterísSca   de   la   POO   que   es  uSlizada  básicamente  para  decirle  a  los  objetos  que  es  lo  QUE  deben  hacer,  pero  no  el  COMO  deben  hacerlo.    

 

Orientación  a  Objetos  

Polimorfismo    Es  una  mezcla  entre  herencia  e  interfaces.  Polimorfismo  significa  de  muchas  formas.    Se  refiere  a  que  disSntos  objetos  uSlizan  un  mismo  método,  pero  lo  uSlizan  de  disSnta  manera.  Piensa  en  objetos  de   las  clases  entrenador  de  futbol  y  jugador   de   futbol.   Si   a   estas   clases   se   les   implementa   el   método  Entrenamiento,   lo   uSlizarán   de   disSnta   manera,   ya   que   el   entrenador  dirigirá   el   entrenamiento   y   el   jugador   uSlizará   el   entrenamiento   para  mejorar.  

 

Orientación  a  Objetos  

Tipos  de  datos  primiLvos  

Sintaxis  y  Aspectos  básicos  del  Lenguaje  

Palabras  Reservadas  

Sintaxis  y  Aspectos  básicos  del  Lenguaje  

Operadores  AritméLcos              

Sintaxis  y  Aspectos  básicos  del  Lenguaje  

Operadores  Lógicos              

Sintaxis  y  Aspectos  básicos  del  Lenguaje  

¡Código!    Estructura  básica  de  una  clase  

Sintaxis  y  Aspectos  básicos  del  Lenguaje  

Instanciación  y  declaración  de  variables  o  atributos                  •  Cada  línea  de  código  debe  terminar  con  “;”  [punto  y  coma]  •  Muy  recomendable  uLlizar  una  línea  de  código  a  la  vez  

 

Sintaxis  y  Aspectos  básicos  del  Lenguaje  

¡Código!    Estructura  básica  de  una  clase  

Sintaxis  y  Aspectos  básicos  del  Lenguaje  

Comentarios        

Sintaxis  y  Aspectos  básicos  del  Lenguaje