Introdução a programação II
-
Upload
clerton-leal -
Category
Software
-
view
115 -
download
0
Transcript of Introdução a programação II
UMA INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO COM JAVA.
CLÊRTON LEAL
UM POUCO SOBRE MIM.
▸ Desenvolvedor de software com alguns anos de mercado.
▸ Com o tempo acabei me tornando um especialista em Android.
▸ Sou maluco pro desenvolvimento de software.
▸ E doido por novas linguagens.
▸ Atualmente trabalhando no Instituto atlântico.
VAMOS FALAR SOBRE ORIENTAÇÃO A OBJETOS.
RECAPITULANDO
O QUE NÓS VIMOS ATÉ AQUI
TIPOS
CLASSES
O QUE SIGNIFICA CLASSE
‣ CATEGORIA
‣ CASTA
‣ CLASSIFICAÇÃO
CLASSE. OU VOCÊ TEM OU VOCÊ NÃO TEM.
‣ CLASSE É A DESCRIÇÃO DE UM TIPO DE UMA VARIÁVEL.
‣ DESCREVE TODOS OS COMPORTAMENTOS QUE UM OBJETO TERÁ.
‣ É A BASE PARA A ORIENTAÇÃO A OBJETOS.
CLASSE
TEXTO
OBJETOS
OBJETOS TEM CLASSE
‣ OBJETOS SÃO A INSTANCIA/CONSTRUÇÃO DE UMA CLASSE.
‣ E TEM TODOS OS COMPORTAMENTOS DESCRITOS NA MESMA.
public static void main(String[] args) { MinhaClasse minhaClasse = new MinhaClasse();}
VAMOS CRIAR NOSSA PROPRIA CLASSE.
TEXTO
COMPORTAMENTOS DE CLASSE
‣ VARIÁVEIS
‣ MÉTODOS
VAMOS ADICIONAR COMPORTAMENTOS. =D
MODIFICADORES DE ACESSO.
PRIVADO OU PUBLICO. MUDANDO O ACESSO.
‣ VARIÁVEIS E MÉTODOS DE CLASSE PODEM TER UM MODIFICADOR DE ACESSO.
‣ PUBLIC SIGNIFICA QUE QUALQUER UM PODE ACESSAR A VARIÁVEL A PARTIR DO OBJETO.
‣ PRIVATE INDICA QUE NINGUÉM ALÉM DO PRÓPRIO OBJETO PODE TER ACESSO A VARIÁVEL.
SEGUINDO O PADRÃO JAVA. FAZER O QUE…..
‣ O PADRÃO JAVA DEFINE QUE NUNCA DEVEMOS TER UMA VARIÁVEL PUBLIC EM UMA CLASSE.
‣ TODAS AS VARIÁVEIS DEVEM SER PRIVATE. public class MinhaClasse { public String naoPode = "Não faça isso jovem"; private String pode = "Faça isso jovem"; }
public static void main(String[] args) { MinhaClasse minhaClasse = new MinhaClasse(); System.out.println(minhaClasse.pode); //Isso não compila pois a variável pode tem o modificador private}
‣ O PADRÃO JAVA EXIGE QUE AS VARIÁVEIS SEJAM ACESSADAS POR MÉTODOS DE GET E SET.
‣ O PADRÃO GET E SET ESTÃO PRESENTES EM TODAS AS APIS JAVA.
GET E SET
‣ ADEQUANDO NOSSO CÓDIGO AO PADRÃO… public class MinhaClasse { private String pode = "Faça isso jovem"; public String getPode() { return pode; } public void setPode(String pode) { this.pode = pode; }}
public static void main(String[] args) { MinhaClasse minhaClasse = new MinhaClasse(); System.out.println(minhaClasse.getPode());}
CODIGO!!!
TRATAMENTO DE EXCEÇÕES.
EXCEPTIONS. ERROS SÃO SEMPRE ESPERADOS NO MUNDO JAVA.
‣ DURANTE A EXECUÇÃO DE UM MÉTODO, UM ERRO PODE ACONTECER.
‣ DEVEMOS SER SEMPRE CAPAZES DE TRATAR ESSES ERROS.
‣ EM JAVA MÉTODOS PODEM EXPLICITAMENTE INFORMAR QUE PODEM LANÇAR UMA EXCEÇÃO.
OI?
EXCEPTIONS.
‣ DECLARAR UMA EXCEÇÃO SIGNIFICA INFORMAR QUE UM MÉTODO PODE CAUSAR UM ERRO E EXIGIR QUE ESSE ERRO SEJA EXPLICITAMENTE TRATADO.
public void deuRuim(Integer number) throws Exception { if (number == 5) { System.out.println("Sucesso!!!!!"); } else { throw new Exception("Erro na execução do método"); }}
EXCEPTIONS.
‣ TODOS QUE EVOCAREM O MÉTODO PRECISAM TRATAR A EXCEÇÃO.
public static void main(String[] args) { MinhaClasse minhaClasse = new MinhaClasse(); minhaClasse.deuRuim(4); }
‣ O CÓDIGO ACIMA NÃO COMPILA. OCORRE UM ERRO DE COMPILAÇÃO DEVIDO A EXISTÊNCIA DE UMA EXCEÇÃO NÃO TRATADA.
TRY CATCH. TENTA EXECUTAR PARA MIM.
‣ PARA COMPILAR O CÓDIGO É NECESSÁRIO TRATAR A EXCEÇÃO.
public static void main(String[] args) { MinhaClasse minhaClasse = new MinhaClasse(); try { minhaClasse.deuRuim(4); } catch (Exception e) { System.out.println(e.getMessage()); }}
‣ CASO O MÉTODO JOGUE UMA EXCEÇÃO, O BLOCO CATCH SERÁ CHAMADO.
CODIGO!!!
BIBLIOTECAS DE TERCEIROS
BIBLIOTECAS DE TERCEIROS
‣ SÃO CÓDIGOS FEITOS POR OUTRAS PESSOAS E DISPONIBILIZADOS PARA USO LIVRE OU NÃO.
‣ NORMALMENTE CHAMADOS DE FRAMEWORKS.
‣ TEM O INTUITO DE FACILITAR/POSSIBILITAR A EXECUÇÃO DE TAREFAS COMPLEXAS.
TEXTO
‣ SELENIUM
‣ JUNIT
‣ JASMINE
‣ ESPRESSO
‣ CALABASH
‣ PROTRACTOR
‣ CUCUMBER
NO FINAL TUDO É CÓDIGO
ADICIONANDO UMA BIBLIOTECA.
TEXTO
DESAFIO
▸ Quero acessar uma pagina da internet.
▸ Vamos fazer uma requisição HTTP a um site publico.
▸ Vamos exibir o conteúdo textual desse site.
É UMA BOA HORA PARA USAR UM FRAMEWORK.
OKHTTP
TEXTO
‣ COM A ADIÇÃO DESSA BIBLIOTECA TEMOS ACESSO A NOVAS CLASSES E MÉTODOS.
‣ E PODEMOS CRIAR UM MÉTODO EM NOSSA CLASSE QUE FAZ REQUISIÇÕES A INTERNET.
public class MinhaClasse { public String request(String url) throws IOException { OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder().url(url).build(); Response response = okHttpClient.newCall(request).execute(); return response.body().string(); }}
TEXTO
E PODEMOS CHAMAR ESSE MÉTODO EM NOSSA CLASSE MAIN.
public static void main(String[] args) { try { MinhaClasse minhaClasse = new MinhaClasse(); String resultado = minhaClasse.request("http://square.github.io/okhttp/"); System.out.println(resultado); } catch (IOException e) { System.out.println(e.getMessage()); }}
OBRIGADO