clase2

24
Introducción a Desarrollo de Aplicaciones en Android Clase 2 Wilfredo Nieves

Upload: wilfredo-nieves

Post on 10-Feb-2017

167 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Clase2

Introducción a Desarrollo de Aplicaciones en Android

Clase 2Wilfredo Nieves

Page 2: Clase2

Recapitulemos• Programación: Serie de instrucciones que le damos a la computadora

para que haga algo.• Lenguaje de programación: serie de comandos (instrucciones) con una

sintaxis unica.• Compilador: Se encarga de verificar errores de sintaxis en nuestro

codigo y convertirlo en un formato que el JVM pueda entender.• Java Virtual Machine: Convierte el codigo compilado en nuestras

aplicaciones.

Page 3: Clase2

Recapitulemos (cont.)• Nuestros programas se componen de clases (.java), las clases

de métodos y campos y los métodos de declaraciones.• Los métodos pueden recibir o devolver valores.• Tipos de variables primitivas y tipos de operadores.• Las variables también pueden ser de tipo referencia.• Todo en java ocurre dentro de una clase.

Page 4: Clase2

Otras acciones• Repetitivas (Loops)

public class MyClass {

public static void main(String[] args){//for loopfor (int i = 0; i<10; i++){

System.out.println(i+""); }

//while loopint i = 0;

while(i< 12){ System.out.println(i+""); i++; }}

}

Page 5: Clase2

Otras acciones (cont.)• Relacionales

public class MyClass {

public static void main(String[] args){int x = 8;

if(x > 10){ System.out.println("x is greater than 10"); }else{ System.out.println("x is less than 10"); } }

}

Page 6: Clase2

Operadores Relacionales• Mayor que: >• Menor que: <• Igual que: ==• No igual que: !=• Mayor o igual que : >=• Menor o igual que: <=

Page 7: Clase2

Operadores Condicionales

• Y: &&• ó: ||

public class MyClass {

public static void main(String[] args){

int x = 13; if(x > 10 && x < 20){ System.out.println("x is between 10 and 20"); }

}

Page 8: Clase2

Clases• Las clases se componen de métodos y variables de

instancia• Esto se traduce a comportamientos y estados

respectivamente VehiclespeedcolormakemoveForward()stop()steer()

Campos de Instancia

Comportamiento

Page 9: Clase2

Reusar las clases (Herencia)Vehicle

speedcolormakemoveForward()stop()steer()

Car Motorcycle Bicycle

Superclase

Subclases

Page 10: Clase2

VehiclespeedcolormakemoveForward()stop()steer()

Car Motorcycle Bicycle Dronefly()//codigo especifico //de dronesland()

Page 11: Clase2

Crear clases• Para crear clases pensemos en cosas que ese objeto sabe y en cosas que ese objeto hace.

Songartistalbum

setArtist()setAlbum()play()

Sabe

Hace

Page 12: Clase2

Objetos• Los objetos son referencias de las clases• Son un tipo de variable no-primitiva• El JVM sabe como utilizar esta referencia para acceder

el objetopublic class MyClass {

public static void main(String[] args){

Song song = new Song();

song.play();

}}

Page 13: Clase2

Objetos vs Clases• Las clases no son objetos

• Las clases son un mecanismo de mezclar comportamientos y acciones en una sola unidad

• Visualícenlo como un plano de un casa

• Los objetos son instancias de las clases

• Son la existencia física de la clase

• La clase le dice al JVM como crear los objetos

• Los objetos vendrían siendo la casa

Page 14: Clase2

Herenciapublic class Vehicle {

private int speed;private String color;private String make;

public void moveForward(){System.out.println("Vehicle moving forward");

}

public void stop(){System.out.println("Vehicle is stopping");

}

public void steer(){System.out.println("Vehicle is steering");

}

}

Page 15: Clase2

Herencia (cont.)

public class Car extends Vehicle {

int wheelSize = 16;

public void openTrunk(){//Opening trunk code}

}

Page 16: Clase2

Herencia(cont.)

public class MyClass {

public static void main(String[] args){

Car car = new Car();car.moveForward();}

}

Page 17: Clase2

Juguemos un poco con las clases y los métodos• Creeemos una clase con sus métodos y sus campos de

instancia.• Aceptemos valores en esos metodos.• Devolvamos valores al llamar los metodos (return).• Extendamos esa clase (herencia).• Usemos sus métodos en otra clase.

Page 18: Clase2

Constructores• Forma de inicializar valores de importancia para el

funcionamiento de las instancias de esa clase• Obligan a las implementaciones de esa clase a cumplir

con ciertos parámetros.• Permiten llevar a a cabo algún tipo de acción tan

pronto se declara una variable del tipo de clase.

Page 19: Clase2

Encapsulación• Utilizado para darle acceso a otras clases para que

puedan obtener información de una clase.• Getters y Setters.• Volvamos a nuestro ejemplo de las clases e

implementémoslo.

Page 20: Clase2

Arreglos• Grupo de objetos del mismo tipo.• Todos y cada unos de los objetos dentro de los

arreglos contiene una instancie del objeto.• Veamos varios ejemplos.• Necesita saber su tamaño al momento en que se crea.

Page 21: Clase2

Creemos un App de Android• Simple Calculator• Primero diseñemosla.• Implementemos el diseño

Page 22: Clase2

Colecciones• ArrayList• No necesitamos saber su tamaño al momento de crearse• Podemos entrar y eleminar objetos rapida y eficientemente.

• HashMap• Podemos guardar y key-value pair y utilizarlo igual que el

array list.

Page 23: Clase2

Otros tipos de clases(abstractas)• Obligan a sus subclases a implementar ciertos

métodos.• Pueden contener métodos abstractos y no abstractos.• Pueden proveer sus propias implementaciones de

métodos.• Utilizados cuando tienes objetos que tienen varias

acciones que no todas sus subclases quieren implementar.

Page 24: Clase2

Interfaces• No se extienden sino que se implementan.• Al igual que las clases abstractas obliga a sus

usuarios(clases que la implementan) a tener los métodos de la interface.• Util para varios patrones de diseño.