SlideShare une entreprise Scribd logo
1  sur  90
Télécharger pour lire hors ligne
Módulo 4: Creación y diseño de videojuegos móviles

  Introducción	
  a	
  la	
  programación	
  
                                         	
  
En colaboración con la                 Con la participación de
Universidad de Alcalá                          Electronic Arts
Profesor	
  
•      Enrique	
  López-­‐Mañas	
  

•      Ingeniero	
  Informá?ca	
  UCM	
  

•      Máster	
  CS	
  RWTH	
  

•      Developer	
  @	
  Sixt	
  

•      Android	
  &	
  iPhone	
  &	
  mobile	
  



•      eenriquelopez@gmail.com	
  

•      www.neo-­‐tech.es	
  

•      @eenriquelopez	
  

	
  
       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                2	
  
Planificación	
  
8	
  	
                              9	
                                 15	
               16	
           22	
          23	
  
Introducción	
  a	
   Introducción	
  a	
   Android	
                                       Android	
      Android	
     Android	
  
la	
                  la	
  
programación	
   programación	
  
                      	
  




            Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                                                3	
  
¿Qué	
  es	
  la	
  programación?	
  

•      Diseño	
  
•      Codificación	
  
•      Depuración	
  
•      Mantenimiento	
  
	
  


       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     4	
  
Conceptos	
  clave:	
  lenguaje	
  

•          Idioma	
  ar?ficial	
  para	
  expresar	
  procesos	
  
           computacionales	
  
•          Diferentes	
  lenguajes	
  
•          Diferentes	
  ?pos	
  
	
  	
  



           Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     5	
  
Conceptos	
  clave:	
  entorno	
  

•    Conjunto	
  de	
  herramientas	
  de	
  desarrollo	
  
•    No	
  sólo	
  programación	
  
•    Diferentes	
  entornos	
  para	
  diferentes	
  lenguajes	
  
•    SDK’s	
  	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     6	
  
Conceptos	
  clave:	
  programa	
  

•    Secuencia	
  de	
  instrucciones	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     7	
  
Conceptos	
  clave:	
  compilar	
  

•    Compilar:	
  conver?r	
  el	
  programa	
  (código	
  
     fuente)	
  en	
  una	
  aplicación	
  (fichero	
  ejecutable)	
  
•    Diferentes	
  plataformas	
  de	
  compilación.	
  
•    (Generalmente)	
  código	
  depende	
  de	
  la	
  
     plataforma	
  



     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     8	
  
Conceptos	
  clave:	
  aplicación	
  
•    Programa	
  (compilado)	
  con	
  funcionalidad	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     9	
  
Ejercicio	
  
•    Abrir	
  Eclipse.	
  
•    Escribir	
  HelloWorld	
  en	
  Java	
  y	
  compilar	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                10	
  
Introducción	
  a	
  la	
  programación	
  
•    Variables	
  

•    Funciones	
  

•    Tipos	
  de	
  datos	
  

•    Operadores	
  

•    Expresiones	
  y	
  sentencias	
  

•    Estructuras	
  de	
  control	
  

•    Estructuras	
  de	
  datos	
  

•    Excepciones	
  

•    OO	
  (Orientación	
  a	
  objetos)	
  

     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     11	
  
Ejemplo	
  	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                 12	
  
Ejemplo	
  

Nombre	
  de	
  paquete	
  




  Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              13	
  
Ejemplo	
  

Declaración	
  de	
  clase	
  




   Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              14	
  
Ejemplo	
  

Declaración	
  de	
  método	
  




  Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              15	
  
Ejemplo	
  

Declaración	
  e	
  inicialización	
  de	
  variable	
  




   Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              16	
  
Ejemplo	
  

Declaración	
  de	
  variable	
  




   Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              17	
  
Ejemplo	
  

Asignación	
  y	
  expresión	
  




   Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              18	
  
Ejemplo	
  

Llamada	
  a	
  función	
  con	
  parámetros	
  




   Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              19	
  
Variables	
  
•      Espacio	
  reservado	
  en	
  memoria	
  que	
  puede	
  
       variar	
  su	
  valor	
  
	
  
•      Constante:	
  parecido	
  a	
  las	
  variables,	
  pero	
  no	
  se	
  
       puede	
  modificar	
  el	
  valor	
  




       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                20	
  
Tipos	
  
•        Tipos	
  de	
  datos	
  primi?vos:	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  short/int/long	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  float/double	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  char	
  (String)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  byte	
  



          Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
            21	
  
Tipos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
            22	
  
Tipos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
            23	
  
Tipos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
            24	
  
Tipos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
            25	
  
Tipos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
            26	
  
Funciones	
  y	
  métodos	
  

•      Posibles	
  entradas	
  
•      Posibles	
  salidas	
  
•      Define	
  un	
  comportamiento	
  
	
  
	
  
•      Pensar	
  en	
  función	
  matemá?ca	
  
       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                27	
  
Funciones	
  y	
  métodos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                28	
  
Funciones	
  y	
  métodos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                29	
  
Funciones	
  y	
  métodos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                30	
  
Funciones	
  y	
  métodos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                31	
  
Funciones	
  y	
  métodos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                32	
  
Funciones	
  y	
  métodos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                33	
  
Funciones	
  y	
  métodos	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                34	
  
Ejercicio	
  

•    Abrir	
  Eclipse	
  
•    Crear	
  un	
  método	
  que	
  sume	
  dos	
  números	
  y	
  los	
  
     escriba	
  con	
  System.out.println();	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                35	
  
Operadores	
  

•    Establecen	
  relaciones	
  entre	
  variables	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                 36	
  
Operadores	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                 37	
  
Operadores	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                 38	
  
Estructuras	
  de	
  control	
  

•    Ejecutan	
  código	
  basándose	
  en	
  condiciones	
  
•    „Si	
  ocurre	
  X,	
  entonces	
  haz	
  Y.	
  Si	
  no,	
  haz	
  Z“	
  
•    „Haz	
  X	
  hasta	
  que	
  ocurra	
  Y“	
  
•    „Haz	
  X	
  mientras	
  ocurra	
  Z“	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              39	
  
Estructuras	
  de	
  control	
  

•      „Si	
  ocurre	
  X,	
  entonces	
  haz	
  Y.	
  Si	
  no,	
  haz	
  Z“	
  
	
  




       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              40	
  
Estructuras	
  de	
  control	
  

•    „Haz	
  X	
  mientras	
  ocurra	
  Z“	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              41	
  
Estructuras	
  de	
  control	
  

•    „Haz	
  X	
  mientras	
  ocurra	
  Z“	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              42	
  
Estructuras	
  de	
  control	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              43	
  
Ejercicio	
  

•    Abrir	
  Eclipse	
  
•    Declarar	
  una	
  variable	
  x	
  con	
  valor	
  igual	
  a	
  50.	
  
•    Reducir	
  su	
  valor	
  mediante	
  un	
  bucle	
  „while“	
  y	
  
     un	
  bucle	
  „for“	
  hasta	
  0.	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                44	
  
Estructuras	
  de	
  control	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              45	
  
Estructuras	
  de	
  Datos	
  

•    No	
  sólo	
  datos	
  primi?vos	
  –	
  Hay	
  datos	
  
     complejos	
  
•    Arrays	
  
•    Tipos	
  complejos	
  de	
  Java	
  
•    (Más	
  adelante)	
  Tipos	
  definidos	
  por	
  el	
  usuario	
  



     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                   46	
  
Estructuras	
  de	
  Datos	
  

•    Matrices	
  de	
  N	
  dimensiones	
  (N	
  al	
  menos	
  1)	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                   47	
  
Estructuras	
  de	
  Datos	
  

•    Matrices	
  de	
  N	
  dimensiones	
  (N	
  al	
  menos	
  1)	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                   48	
  
Ejercicio	
  

•      Rellenar	
  un	
  array	
  de	
  dos	
  dimensiones	
  usando	
  
       dos	
  bucles	
  for	
  y	
  pintar	
  los	
  valores	
  por	
  pantalla	
  
	
  
	
  




       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                49	
  
Estructuras	
  de	
  datos	
  

•      ArrayList,	
  	
  TreeSet,	
  Scanner...	
  
	
  
	
  
	
  
	
  


       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                    50	
  
Ejercicio	
  

•      Rellenar	
  un	
  ArrayList	
  con	
  los	
  datos	
  que	
  
       teníamos	
  en	
  el	
  array	
  del	
  ejercicio	
  anterior.	
  
	
  
	
  
	
  



       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                51	
  
Estructuras	
  de	
  datos	
  

•      Clases	
  personalizadas	
  (introducción	
  muy	
  
       rápida)	
  
•      Uso	
  de	
  OO.	
  
•      Creación	
  de	
  clases	
  mul?-­‐atributo	
  complejas	
  
       con	
  propios	
  métodos	
  
	
  
	
  
       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                    52	
  
	
  
Estructuras	
  de	
  datos	
  

	
  
	
  
	
  
	
  




       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                    53	
  
Excepciones	
  

•      Ges?ón	
  de	
  errores	
  complejos	
  
	
  
	
  
	
  
	
  


       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                  54	
  
Orientación	
  a	
  Objetos	
  (POO)	
  

•      Paradigma	
  de	
  desarrollo	
  básico	
  
•      Permite	
  representar	
  sistemas	
  complejos	
  
•      Objetos:	
  elemento	
  con	
  atributos	
  y	
  
       comportamiento	
  
•      Reu?lización,	
  conexión	
  entre	
  sistemas	
  
	
  
	
  
       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     55	
  
Orientación	
  a	
  Objetos	
  (POO)	
  

•      Otra	
  idea:	
  descomponer	
  programas	
  en	
  piezas	
  
       más	
  pequeñas	
  y	
  manejables	
  
	
  	
  	
  	
  (un	
  coche	
  se	
  compone	
  de	
  ruedas,	
  volante,	
  
              etc)	
  
•      Nuestros	
  objetos	
  serán	
  „Clases“	
  
	
  
	
  
       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     56	
  
	
  
Orientación	
  a	
  Objetos	
  (POO)	
  

	
  
	
  
	
  
	
  




       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     57	
  
Orientación	
  a	
  Objetos	
  (POO)	
  

	
  
	
  
	
  
	
  




       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     58	
  
Orientación	
  a	
  Objetos	
  (POO)	
  

	
  
	
  
	
  
	
  




       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     59	
  
Orientación	
  a	
  Objetos	
  (POO)	
  

	
  
	
  
	
  
	
  




       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     60	
  
Orientación	
  a	
  Objetos	
  (POO)	
  

	
  
	
  
	
  
	
  




       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     61	
  
Orientación	
  a	
  Objetos	
  (POO)	
  

•      Relaciones	
  de	
  agregación	
  
	
  
	
  
	
  
	
  
	
  
       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     62	
  
Ejercicio	
  

•      Diseñar	
  y	
  programar	
  clases	
  para	
  representar	
  
       una	
  empresa	
  que	
  con?ene	
  trabajadores	
  (usar	
  
       array	
  o	
  ArrayList)	
  
	
  
	
  
	
  
	
  
       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                63	
  
	
  
Orientación	
  a	
  Objetos	
  (POO)	
  

•      Conceptos:	
  
        –      Encapsulación:	
  organización	
  de	
  datos	
  y	
  métodos	
  
        –      Herencia:	
  creación	
  de	
  clases	
  a	
  par?r	
  de	
  otras	
  ya	
  
               existentes	
  
        –      Polimorfismo:	
  (varias	
  formas)	
  sobrecarga	
  de	
  
               métodos	
  con	
  mismo	
  nombre	
  y	
  dis?nta	
  
               funcionalidad.	
  

	
  
       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
            64	
  

	
  
Orientación	
  a	
  Objetos	
  -­‐	
  
                                                                                Herencia	
  
•      Mecanismo	
  para	
  extender	
  clases	
  a	
  casos	
  más	
  
       par?culares.	
  
•      Ejemplo:	
  	
  
        –      Un	
  edificio	
  à	
  Un	
  hospital	
  
        –      Un	
  vehículo	
  à	
  una	
  furgoneta	
  
        –      Un	
  persona	
  à	
  un	
  niño	
  

	
  
       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              65	
  
	
  
Orientación	
  a	
  Objetos	
  -­‐	
  
                                                                                Herencia	
  
•      La	
  clase	
  hija	
  hereda	
  de	
  la	
  clase	
  padre.	
  
•      Puede	
  sobreescribir	
  o	
  ampliar	
  sus	
  métodos.	
  
•      Hereda	
  todos	
  los	
  atributos.	
  
•      Una	
  „furgoneta“	
  es	
  también	
  un	
  „vehículo“	
  
•      Herencia	
  simple	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              66	
  
Orientación	
  a	
  Objetos	
  -­‐	
  
                                                                                Herencia	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
              67	
  
Ejercicio	
  

•      Crear	
  la	
  clase	
  Taxista,	
  que	
  hereda	
  de	
  persona.	
  
•      El	
  taxista	
  ?ene	
  licencia	
  
•      El	
  taxista	
  ?ene	
  un	
  coche.	
  
•      Crear	
  programa	
  de	
  ejemplo	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                68	
  
Orientación	
  a	
  objetos	
  –	
  Clases	
  
                                                  abstractas	
  
•      No	
  se	
  pueden	
  crear	
  objetos	
  de	
  clases	
  
       abstractas.	
  
•      Se	
  usan	
  para	
  representar	
  „ideas“	
  o	
  
       „conceptos“	
  
	
  
	
  
	
  
       Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     69	
  
	
  
Ejercicio	
  

•      Hacer	
  que	
  la	
  clase	
  persona	
  sea	
  abstracta.	
  
•      Probar	
  a	
  compilar	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                70	
  
Herencia	
  -­‐	
  Interfaces	
  
•    Sólo	
  definen	
  comportamiento	
  
•    (especifican	
  qué	
  hacer,	
  no	
  cómo)	
  




     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                      71	
  
Herencia	
  -­‐	
  Interfaces	
  




Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                      72	
  
Acceso	
  en	
  Java	
  
                               Misma clase                       Otra clase    Subclase de          Otra clase de
                                                                 mismo paquete otro paquete         otro paquete
public                                      X                                      X         X            X
protected                                   X                                      X         X
default                                     X                                      X
private                                     X




   Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                                      73	
  
Mul?threading	
  

•      Hasta	
  ahora:	
  ejecución	
  secuencial.	
  
•      Pero:	
  existe	
  ejecución	
  de	
  múl?ples	
  hilos	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                    74	
  
 Mul?threading	
  -­‐	
  Ventajas	
  

•      Mejor	
  ?empo	
  de	
  respuesta	
  
•      Mejor	
  aprovechamiento	
  de	
  la	
  CPU	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     75	
  
 Mul?threading	
  -­‐	
  Ejemplo	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
     76	
  
 Mul?threading	
  	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                           77	
  
 Mul?threading	
  	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                           78	
  
 Mul?threading	
  	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                           79	
  
 Mul?threading	
  	
  


	
  
	
                                                                                     <


	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                           80	
  
 Mul?threading	
  	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                           81	
  
 Mul?threading	
  	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                           82	
  
 Mul?threading	
  	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                           83	
  
 Mul?threading	
  	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                           84	
  
Ficheros	
  

•      Almacenamiento	
  en	
  Java	
  
•      Hoy	
  día	
  rudimentario	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
               85	
  
Ficheros	
  -­‐	
  Escritura	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                              86	
  
Ficheros	
  -­‐	
  Lectura	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                                 87	
  
 UML	
  	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                88	
  
 JavaDoc	
  	
  


	
  
	
  
	
  
	
  
	
  
	
     Introducción	
  a	
  la	
  programación	
  –	
  Enrique	
  López	
  Mañas	
                     89	
  
Gracias	
  por	
  su	
  atención	
  
                                 Contacto	
  para	
  dudas	
  y	
  sugerencias	
  
                                                Enrique	
  López	
  Mañas	
  
                                       eenriquelopez@gmail.com	
  
                                                       @eenriquelopez	
  
                                                                             	
  




En colaboración con la            Con la participación de
Universidad de Alcalá                     Electronic Arts

Contenu connexe

En vedette

Lección 1 Introducción a los Lenguajes de Programación
Lección 1   Introducción a los Lenguajes de ProgramaciónLección 1   Introducción a los Lenguajes de Programación
Lección 1 Introducción a los Lenguajes de Programaciónocasas
 
Diapositiva mantenimiento de computadores
Diapositiva mantenimiento de computadoresDiapositiva mantenimiento de computadores
Diapositiva mantenimiento de computadoreslindaibeth
 
Introducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la ProgramaciónIntroducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la ProgramaciónDesarrolloWeb.com
 
Introducción a la Programación con Java
Introducción a la Programación con JavaIntroducción a la Programación con Java
Introducción a la Programación con Javaflekoso
 
Introducción al Diseño Web
Introducción al Diseño WebIntroducción al Diseño Web
Introducción al Diseño WebLorena Guerrero
 
Variables y tipos de datos - fundamentos de la programación
Variables y tipos de datos -  fundamentos de la programaciónVariables y tipos de datos -  fundamentos de la programación
Variables y tipos de datos - fundamentos de la programaciónDesarrolloWeb.com
 
Introducción a la Estadística
Introducción a la EstadísticaIntroducción a la Estadística
Introducción a la EstadísticaMago016
 
Tema 1.1 introudcción a la estadística
Tema 1.1 introudcción a la estadísticaTema 1.1 introudcción a la estadística
Tema 1.1 introudcción a la estadísticaanthonymaule
 
El Gran Libro de Diseño Web
El Gran Libro de Diseño WebEl Gran Libro de Diseño Web
El Gran Libro de Diseño WebRebelBangarang
 
Introducción al Diseño web
Introducción al Diseño webIntroducción al Diseño web
Introducción al Diseño webciwmx
 
Universo, población y muestra
Universo, población y muestraUniverso, población y muestra
Universo, población y muestraTomás Calderón
 

En vedette (14)

Lección 1 Introducción a los Lenguajes de Programación
Lección 1   Introducción a los Lenguajes de ProgramaciónLección 1   Introducción a los Lenguajes de Programación
Lección 1 Introducción a los Lenguajes de Programación
 
Diapositiva mantenimiento de computadores
Diapositiva mantenimiento de computadoresDiapositiva mantenimiento de computadores
Diapositiva mantenimiento de computadores
 
Introducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la ProgramaciónIntroducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la Programación
 
Introducción a la Programación con Java
Introducción a la Programación con JavaIntroducción a la Programación con Java
Introducción a la Programación con Java
 
Introducción al Diseño Web
Introducción al Diseño WebIntroducción al Diseño Web
Introducción al Diseño Web
 
Estadistica
Estadistica Estadistica
Estadistica
 
Variables y tipos de datos - fundamentos de la programación
Variables y tipos de datos -  fundamentos de la programaciónVariables y tipos de datos -  fundamentos de la programación
Variables y tipos de datos - fundamentos de la programación
 
Introducción a la Estadística
Introducción a la EstadísticaIntroducción a la Estadística
Introducción a la Estadística
 
Tema 1.1 introudcción a la estadística
Tema 1.1 introudcción a la estadísticaTema 1.1 introudcción a la estadística
Tema 1.1 introudcción a la estadística
 
El Gran Libro de Diseño Web
El Gran Libro de Diseño WebEl Gran Libro de Diseño Web
El Gran Libro de Diseño Web
 
Introducción al Diseño web
Introducción al Diseño webIntroducción al Diseño web
Introducción al Diseño web
 
Tutorial 2
Tutorial 2Tutorial 2
Tutorial 2
 
Estadística Básica
Estadística BásicaEstadística Básica
Estadística Básica
 
Universo, población y muestra
Universo, población y muestraUniverso, población y muestra
Universo, población y muestra
 

Similaire à Introducción a la Programación

Similaire à Introducción a la Programación (12)

Android: Interfaz de Usuario
Android: Interfaz de UsuarioAndroid: Interfaz de Usuario
Android: Interfaz de Usuario
 
Android: Almacenamiento de Datos
Android: Almacenamiento de DatosAndroid: Almacenamiento de Datos
Android: Almacenamiento de Datos
 
Algoritmos programacion
Algoritmos programacionAlgoritmos programacion
Algoritmos programacion
 
Algoritmos y programacion
Algoritmos y programacionAlgoritmos y programacion
Algoritmos y programacion
 
Portafolio programacion
Portafolio programacionPortafolio programacion
Portafolio programacion
 
Lenguajes de programacion. Segun Glenn Brookshear
Lenguajes de programacion. Segun Glenn BrookshearLenguajes de programacion. Segun Glenn Brookshear
Lenguajes de programacion. Segun Glenn Brookshear
 
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
 
Bajada auliaca de processdor de texto
Bajada auliaca de processdor de textoBajada auliaca de processdor de texto
Bajada auliaca de processdor de texto
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Presentación1
Presentación1Presentación1
Presentación1
 
Programación
ProgramaciónProgramación
Programación
 
Sorribas
SorribasSorribas
Sorribas
 

Plus de Enrique López Mañas (10)

Droidcon IT 2015
Droidcon IT 2015Droidcon IT 2015
Droidcon IT 2015
 
Android Building, Testing and reversing
Android Building, Testing and reversingAndroid Building, Testing and reversing
Android Building, Testing and reversing
 
AnDevCon: Android Reverse Engineering
AnDevCon: Android Reverse EngineeringAnDevCon: Android Reverse Engineering
AnDevCon: Android Reverse Engineering
 
Android studio
Android studioAndroid studio
Android studio
 
Debugging Android - GDG Munich
Debugging Android - GDG MunichDebugging Android - GDG Munich
Debugging Android - GDG Munich
 
Android: Dialogs
Android: DialogsAndroid: Dialogs
Android: Dialogs
 
Android: Componentes (II)
Android: Componentes (II)Android: Componentes (II)
Android: Componentes (II)
 
Android: Componentes
Android: ComponentesAndroid: Componentes
Android: Componentes
 
Android: introducción
Android: introducciónAndroid: introducción
Android: introducción
 
Presentation android JUnit
Presentation android JUnitPresentation android JUnit
Presentation android JUnit
 

Dernier

DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 

Dernier (20)

La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 

Introducción a la Programación

  • 1. Módulo 4: Creación y diseño de videojuegos móviles Introducción  a  la  programación     En colaboración con la Con la participación de Universidad de Alcalá Electronic Arts
  • 2. Profesor   •  Enrique  López-­‐Mañas   •  Ingeniero  Informá?ca  UCM   •  Máster  CS  RWTH   •  Developer  @  Sixt   •  Android  &  iPhone  &  mobile   •  eenriquelopez@gmail.com   •  www.neo-­‐tech.es   •  @eenriquelopez     Introducción  a  la  programación  –  Enrique  López  Mañas   2  
  • 3. Planificación   8     9   15   16   22   23   Introducción  a   Introducción  a   Android   Android   Android   Android   la   la   programación   programación     Introducción  a  la  programación  –  Enrique  López  Mañas   3  
  • 4. ¿Qué  es  la  programación?   •  Diseño   •  Codificación   •  Depuración   •  Mantenimiento     Introducción  a  la  programación  –  Enrique  López  Mañas   4  
  • 5. Conceptos  clave:  lenguaje   •  Idioma  ar?ficial  para  expresar  procesos   computacionales   •  Diferentes  lenguajes   •  Diferentes  ?pos       Introducción  a  la  programación  –  Enrique  López  Mañas   5  
  • 6. Conceptos  clave:  entorno   •  Conjunto  de  herramientas  de  desarrollo   •  No  sólo  programación   •  Diferentes  entornos  para  diferentes  lenguajes   •  SDK’s     Introducción  a  la  programación  –  Enrique  López  Mañas   6  
  • 7. Conceptos  clave:  programa   •  Secuencia  de  instrucciones   Introducción  a  la  programación  –  Enrique  López  Mañas   7  
  • 8. Conceptos  clave:  compilar   •  Compilar:  conver?r  el  programa  (código   fuente)  en  una  aplicación  (fichero  ejecutable)   •  Diferentes  plataformas  de  compilación.   •  (Generalmente)  código  depende  de  la   plataforma   Introducción  a  la  programación  –  Enrique  López  Mañas   8  
  • 9. Conceptos  clave:  aplicación   •  Programa  (compilado)  con  funcionalidad   Introducción  a  la  programación  –  Enrique  López  Mañas   9  
  • 10. Ejercicio   •  Abrir  Eclipse.   •  Escribir  HelloWorld  en  Java  y  compilar   Introducción  a  la  programación  –  Enrique  López  Mañas   10  
  • 11. Introducción  a  la  programación   •  Variables   •  Funciones   •  Tipos  de  datos   •  Operadores   •  Expresiones  y  sentencias   •  Estructuras  de  control   •  Estructuras  de  datos   •  Excepciones   •  OO  (Orientación  a  objetos)   Introducción  a  la  programación  –  Enrique  López  Mañas   11  
  • 12. Ejemplo     Introducción  a  la  programación  –  Enrique  López  Mañas   12  
  • 13. Ejemplo   Nombre  de  paquete   Introducción  a  la  programación  –  Enrique  López  Mañas   13  
  • 14. Ejemplo   Declaración  de  clase   Introducción  a  la  programación  –  Enrique  López  Mañas   14  
  • 15. Ejemplo   Declaración  de  método   Introducción  a  la  programación  –  Enrique  López  Mañas   15  
  • 16. Ejemplo   Declaración  e  inicialización  de  variable   Introducción  a  la  programación  –  Enrique  López  Mañas   16  
  • 17. Ejemplo   Declaración  de  variable   Introducción  a  la  programación  –  Enrique  López  Mañas   17  
  • 18. Ejemplo   Asignación  y  expresión   Introducción  a  la  programación  –  Enrique  López  Mañas   18  
  • 19. Ejemplo   Llamada  a  función  con  parámetros   Introducción  a  la  programación  –  Enrique  López  Mañas   19  
  • 20. Variables   •  Espacio  reservado  en  memoria  que  puede   variar  su  valor     •  Constante:  parecido  a  las  variables,  pero  no  se   puede  modificar  el  valor   Introducción  a  la  programación  –  Enrique  López  Mañas   20  
  • 21. Tipos   •  Tipos  de  datos  primi?vos:                    short/int/long                    float/double                    char  (String)                    byte   Introducción  a  la  programación  –  Enrique  López  Mañas   21  
  • 22. Tipos   Introducción  a  la  programación  –  Enrique  López  Mañas   22  
  • 23. Tipos   Introducción  a  la  programación  –  Enrique  López  Mañas   23  
  • 24. Tipos   Introducción  a  la  programación  –  Enrique  López  Mañas   24  
  • 25. Tipos   Introducción  a  la  programación  –  Enrique  López  Mañas   25  
  • 26. Tipos   Introducción  a  la  programación  –  Enrique  López  Mañas   26  
  • 27. Funciones  y  métodos   •  Posibles  entradas   •  Posibles  salidas   •  Define  un  comportamiento       •  Pensar  en  función  matemá?ca   Introducción  a  la  programación  –  Enrique  López  Mañas   27  
  • 28. Funciones  y  métodos   Introducción  a  la  programación  –  Enrique  López  Mañas   28  
  • 29. Funciones  y  métodos   Introducción  a  la  programación  –  Enrique  López  Mañas   29  
  • 30. Funciones  y  métodos   Introducción  a  la  programación  –  Enrique  López  Mañas   30  
  • 31. Funciones  y  métodos   Introducción  a  la  programación  –  Enrique  López  Mañas   31  
  • 32. Funciones  y  métodos   Introducción  a  la  programación  –  Enrique  López  Mañas   32  
  • 33. Funciones  y  métodos   Introducción  a  la  programación  –  Enrique  López  Mañas   33  
  • 34. Funciones  y  métodos   Introducción  a  la  programación  –  Enrique  López  Mañas   34  
  • 35. Ejercicio   •  Abrir  Eclipse   •  Crear  un  método  que  sume  dos  números  y  los   escriba  con  System.out.println();   Introducción  a  la  programación  –  Enrique  López  Mañas   35  
  • 36. Operadores   •  Establecen  relaciones  entre  variables   Introducción  a  la  programación  –  Enrique  López  Mañas   36  
  • 37. Operadores   Introducción  a  la  programación  –  Enrique  López  Mañas   37  
  • 38. Operadores   Introducción  a  la  programación  –  Enrique  López  Mañas   38  
  • 39. Estructuras  de  control   •  Ejecutan  código  basándose  en  condiciones   •  „Si  ocurre  X,  entonces  haz  Y.  Si  no,  haz  Z“   •  „Haz  X  hasta  que  ocurra  Y“   •  „Haz  X  mientras  ocurra  Z“   Introducción  a  la  programación  –  Enrique  López  Mañas   39  
  • 40. Estructuras  de  control   •  „Si  ocurre  X,  entonces  haz  Y.  Si  no,  haz  Z“     Introducción  a  la  programación  –  Enrique  López  Mañas   40  
  • 41. Estructuras  de  control   •  „Haz  X  mientras  ocurra  Z“   Introducción  a  la  programación  –  Enrique  López  Mañas   41  
  • 42. Estructuras  de  control   •  „Haz  X  mientras  ocurra  Z“   Introducción  a  la  programación  –  Enrique  López  Mañas   42  
  • 43. Estructuras  de  control   Introducción  a  la  programación  –  Enrique  López  Mañas   43  
  • 44. Ejercicio   •  Abrir  Eclipse   •  Declarar  una  variable  x  con  valor  igual  a  50.   •  Reducir  su  valor  mediante  un  bucle  „while“  y   un  bucle  „for“  hasta  0.   Introducción  a  la  programación  –  Enrique  López  Mañas   44  
  • 45. Estructuras  de  control   Introducción  a  la  programación  –  Enrique  López  Mañas   45  
  • 46. Estructuras  de  Datos   •  No  sólo  datos  primi?vos  –  Hay  datos   complejos   •  Arrays   •  Tipos  complejos  de  Java   •  (Más  adelante)  Tipos  definidos  por  el  usuario   Introducción  a  la  programación  –  Enrique  López  Mañas   46  
  • 47. Estructuras  de  Datos   •  Matrices  de  N  dimensiones  (N  al  menos  1)   Introducción  a  la  programación  –  Enrique  López  Mañas   47  
  • 48. Estructuras  de  Datos   •  Matrices  de  N  dimensiones  (N  al  menos  1)   Introducción  a  la  programación  –  Enrique  López  Mañas   48  
  • 49. Ejercicio   •  Rellenar  un  array  de  dos  dimensiones  usando   dos  bucles  for  y  pintar  los  valores  por  pantalla       Introducción  a  la  programación  –  Enrique  López  Mañas   49  
  • 50. Estructuras  de  datos   •  ArrayList,    TreeSet,  Scanner...           Introducción  a  la  programación  –  Enrique  López  Mañas   50  
  • 51. Ejercicio   •  Rellenar  un  ArrayList  con  los  datos  que   teníamos  en  el  array  del  ejercicio  anterior.         Introducción  a  la  programación  –  Enrique  López  Mañas   51  
  • 52. Estructuras  de  datos   •  Clases  personalizadas  (introducción  muy   rápida)   •  Uso  de  OO.   •  Creación  de  clases  mul?-­‐atributo  complejas   con  propios  métodos       Introducción  a  la  programación  –  Enrique  López  Mañas   52    
  • 53. Estructuras  de  datos           Introducción  a  la  programación  –  Enrique  López  Mañas   53  
  • 54. Excepciones   •  Ges?ón  de  errores  complejos           Introducción  a  la  programación  –  Enrique  López  Mañas   54  
  • 55. Orientación  a  Objetos  (POO)   •  Paradigma  de  desarrollo  básico   •  Permite  representar  sistemas  complejos   •  Objetos:  elemento  con  atributos  y   comportamiento   •  Reu?lización,  conexión  entre  sistemas       Introducción  a  la  programación  –  Enrique  López  Mañas   55  
  • 56. Orientación  a  Objetos  (POO)   •  Otra  idea:  descomponer  programas  en  piezas   más  pequeñas  y  manejables          (un  coche  se  compone  de  ruedas,  volante,   etc)   •  Nuestros  objetos  serán  „Clases“       Introducción  a  la  programación  –  Enrique  López  Mañas   56    
  • 57. Orientación  a  Objetos  (POO)           Introducción  a  la  programación  –  Enrique  López  Mañas   57  
  • 58. Orientación  a  Objetos  (POO)           Introducción  a  la  programación  –  Enrique  López  Mañas   58  
  • 59. Orientación  a  Objetos  (POO)           Introducción  a  la  programación  –  Enrique  López  Mañas   59  
  • 60. Orientación  a  Objetos  (POO)           Introducción  a  la  programación  –  Enrique  López  Mañas   60  
  • 61. Orientación  a  Objetos  (POO)           Introducción  a  la  programación  –  Enrique  López  Mañas   61  
  • 62. Orientación  a  Objetos  (POO)   •  Relaciones  de  agregación             Introducción  a  la  programación  –  Enrique  López  Mañas   62  
  • 63. Ejercicio   •  Diseñar  y  programar  clases  para  representar   una  empresa  que  con?ene  trabajadores  (usar   array  o  ArrayList)           Introducción  a  la  programación  –  Enrique  López  Mañas   63    
  • 64. Orientación  a  Objetos  (POO)   •  Conceptos:   –  Encapsulación:  organización  de  datos  y  métodos   –  Herencia:  creación  de  clases  a  par?r  de  otras  ya   existentes   –  Polimorfismo:  (varias  formas)  sobrecarga  de   métodos  con  mismo  nombre  y  dis?nta   funcionalidad.     Introducción  a  la  programación  –  Enrique  López  Mañas   64    
  • 65. Orientación  a  Objetos  -­‐   Herencia   •  Mecanismo  para  extender  clases  a  casos  más   par?culares.   •  Ejemplo:     –  Un  edificio  à  Un  hospital   –  Un  vehículo  à  una  furgoneta   –  Un  persona  à  un  niño     Introducción  a  la  programación  –  Enrique  López  Mañas   65    
  • 66. Orientación  a  Objetos  -­‐   Herencia   •  La  clase  hija  hereda  de  la  clase  padre.   •  Puede  sobreescribir  o  ampliar  sus  métodos.   •  Hereda  todos  los  atributos.   •  Una  „furgoneta“  es  también  un  „vehículo“   •  Herencia  simple       Introducción  a  la  programación  –  Enrique  López  Mañas   66  
  • 67. Orientación  a  Objetos  -­‐   Herencia                 Introducción  a  la  programación  –  Enrique  López  Mañas   67  
  • 68. Ejercicio   •  Crear  la  clase  Taxista,  que  hereda  de  persona.   •  El  taxista  ?ene  licencia   •  El  taxista  ?ene  un  coche.   •  Crear  programa  de  ejemplo         Introducción  a  la  programación  –  Enrique  López  Mañas   68  
  • 69. Orientación  a  objetos  –  Clases   abstractas   •  No  se  pueden  crear  objetos  de  clases   abstractas.   •  Se  usan  para  representar  „ideas“  o   „conceptos“         Introducción  a  la  programación  –  Enrique  López  Mañas   69    
  • 70. Ejercicio   •  Hacer  que  la  clase  persona  sea  abstracta.   •  Probar  a  compilar             Introducción  a  la  programación  –  Enrique  López  Mañas   70  
  • 71. Herencia  -­‐  Interfaces   •  Sólo  definen  comportamiento   •  (especifican  qué  hacer,  no  cómo)   Introducción  a  la  programación  –  Enrique  López  Mañas   71  
  • 72. Herencia  -­‐  Interfaces   Introducción  a  la  programación  –  Enrique  López  Mañas   72  
  • 73. Acceso  en  Java   Misma clase Otra clase Subclase de Otra clase de mismo paquete otro paquete otro paquete public X X X X protected X X X default X X private X Introducción  a  la  programación  –  Enrique  López  Mañas   73  
  • 74. Mul?threading   •  Hasta  ahora:  ejecución  secuencial.   •  Pero:  existe  ejecución  de  múl?ples  hilos             Introducción  a  la  programación  –  Enrique  López  Mañas   74  
  • 75.  Mul?threading  -­‐  Ventajas   •  Mejor  ?empo  de  respuesta   •  Mejor  aprovechamiento  de  la  CPU             Introducción  a  la  programación  –  Enrique  López  Mañas   75  
  • 76.  Mul?threading  -­‐  Ejemplo               Introducción  a  la  programación  –  Enrique  López  Mañas   76  
  • 77.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   77  
  • 78.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   78  
  • 79.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   79  
  • 80.  Mul?threading         <         Introducción  a  la  programación  –  Enrique  López  Mañas   80  
  • 81.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   81  
  • 82.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   82  
  • 83.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   83  
  • 84.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   84  
  • 85. Ficheros   •  Almacenamiento  en  Java   •  Hoy  día  rudimentario             Introducción  a  la  programación  –  Enrique  López  Mañas   85  
  • 86. Ficheros  -­‐  Escritura               Introducción  a  la  programación  –  Enrique  López  Mañas   86  
  • 87. Ficheros  -­‐  Lectura               Introducción  a  la  programación  –  Enrique  López  Mañas   87  
  • 88.  UML                 Introducción  a  la  programación  –  Enrique  López  Mañas   88  
  • 89.  JavaDoc                 Introducción  a  la  programación  –  Enrique  López  Mañas   89  
  • 90. Gracias  por  su  atención   Contacto  para  dudas  y  sugerencias   Enrique  López  Mañas   eenriquelopez@gmail.com   @eenriquelopez     En colaboración con la Con la participación de Universidad de Alcalá Electronic Arts