Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas...

44
Curso de Programação Orientada a Objetos I 1

Transcript of Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas...

Page 1: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Curso de Programação Orientada a Objetos I

1

Page 2: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Metas do curso Este curso fornece a você conhecimento e habilidades para: • Programar e executar aplicações avançadas em Java™, • Compreender o paradigma de programação orientada a objetos, • Auxiliar na preparação para a certificação “Sun Certified Programmer for the Java™ 5.0 Platform”.

2

Page 3: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Visão Geral do Curso

Este curso compreende as seguintes áreas: • A sintaxe da linguagem de programação Java, • Conceitos de Orientação a Objetos relativos a Java, • Principais APIs da Linguagem Java, • Depuração de Programas, • Aprimoramentos da Linguagem no Java SE 5.0

3

Page 4: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Visão Geral Capítulo a Capítulo

• Capitulo 01 – “Introdução à Tecnologia Java e ao IDE NetBeans 5.x” • Capitulo 02 – “Introdução à Programação Orientada a Objetos” • Capitulo 03 – “Identificadores, Palavras Chaves e Tipos” • Capitulo 04 – “Controle de Fluxo” • Capitulo 05 – “Arrays” • Capitulo 06 – “Projeto de Classes” • Capitulo 07 – “Características Avançadas de Classes” • Capitulo 08 – “Exceções” • Capitulo 09 – “Java I/O, Classes Essenciais da Linguagem e a API Collections” • Capitulo 10 – “J2SE 5.0 - Tiger” • Capitulo 11 – “Depuração de Programas”

4

Page 5: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Tópicos Não Cobertos • Conceitos gerais de programação. Este não é um curso para pessoas que nunca programaram antes. • Servlets, JSP – (Curso de Programação para a Internet) • Enterprise Java Beans – EJB. (Curso de Computação

Distribuída) • JDBC, AWT, JFC/Swing (Curso de Programação Orientada a Objetos II )

5

Page 6: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Capítulo 1

Introdução à Tecnologia Java e ao IDE NetBeans 5.x.

6

Page 7: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

O que é a tecnologia Java? • A tecnologia Java é:

Uma Linguagem de programação Um ambiente de desenvolvimento Um ambiente de aplicação Um ambiente de execução.

• Similar em sintaxe a C++; similar em semântica em SmallTalk • É utilizada no desenvolvimento de aplicações e applets.

7

Page 8: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Principais metas da tecnologia Java

• Fornecer uma linguagem de fácil utilização: a) Evita armadilhas de outras linguagens b) Por ser orientada a objetos c) Permite a criação de código mais legível

• Fornecer um ambiente interpretado para: a) Agilizar a velocidade de desenvolvimento b) portabilidade de código.

8

Page 9: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Principais Metas da Tecnologia Java

• Permitir que usuários executem mais de uma thread de atividade, • Carregar classes dinamicamente, ou seja, no momento que são necessárias, • Suportar mudanças de forma dinâmica durante o tempo de execução de uma aplicação, carregando classes de fontes distintas; • Prover Melhor Segurança.

9

Page 10: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Principais Metas da Tecnologia Java(Cont.)

As seguintes características realizam estas metas: • A Máquina Virtual Java (Java Virtual Machine - JVM) • “Coleta de Lixo” em memória (Garbage collection) • Segurança de Código

10

Page 11: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

A Máquina Virtual Java É um ambiente que: • Fornece especificações da plataforma de hardware • Interpreta bytecodes que são independentes de plataforma • É implementada em software ou hardware • É implementada em uma ferramenta de desenvolvimento da tecnologia Java ou em um navegador web.

11

Page 12: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

A Máquina Virtual Java

A JVM fornece definições para: • Conjunto de instruções (CPU) • Conjunto de registradores • Formato do arquivo classe • Pilha • Pilha para Garbage Collection • Área de Memória.

12

Page 13: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

A Máquina Virtual Java

• A maior parte de checagem de tipos é feita em tempo de compilação. • Implementações da JVM aprovadas pela Sun Microsystems são capazes de executar qualquer arquivo classe da linguagem.

13

Page 14: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Garbage Collection

• Memória alocada não mais necessária deve ser desalocada. • Em outras linguagens desalocar área de memória é responsabilidade do programador • A linguagem de programação Java fornece uma thread em nível de sistema para guardar alocação da memória.

14

Page 15: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Garbage Collection

• Garbage collection:

• Verifica e libera memória que não está sendo utilizada.

• É feita automaticamente

• Pode variar dramaticamente entre implementações distintas da JVM.

15

Page 16: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Segurança de Código

O ambiente de programação Java executa da seguinte maneira:

16

Page 17: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Gerador de Código Just-In-Time (JIT)

17

Page 18: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

O Ambiente de Execução Java™

Executa três tarefas principais:

• Carrega, • verifica, • e executa o código.

18

Page 19: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

O Carregador de Classe (Class Loader)

• Carrega todas classes necessárias à execução de um programa, • Mantém classes do sistema de arquivos local em “namespaces” distintos. • Previne spoofing.

19

Page 20: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

O Verificador de Bytecodes

Assegura que: • O código está de acordo com a especificação JVM, • O código não viola a integridade do sistema, • O código não causa underflow ou overflow em pilha de operandos, • Os tipos dos parâmetros para todo o código está correto • Nenhuma conversão ilegal de dados ocorreu.

20

Page 21: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Exemplo de Uma Aplicação em Java TesteCumprimento.java 1 // 2 // Dizendo oi para todos 3 // 4 public class TesteCumprimento{ 5 public static void main (String[] args) { 6 OiPessoal oi = new OiPessoal(); 7 oi.cumprimentar(); 8 } 9 }

OiPessoal.java 1 // Declaração da classe OiPessoal. 2 public class OiPessoal{ 3 public void cumprimentar() { 4 System.out.println(“oi pessoal !!”); 5 } 6 }

21

Page 22: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Compilando e Executando o Programa TesteCumprimento

• Compilando TesteCumprimento.java

javac TesteCumprimento.java • OiPessoal.java é compilada automaticamente.

• Executando a aplicação

java TesteCumprimento

22

Page 23: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Localizando Erros Comuns de Compilação e Execução

Erros em Tempo de Compilação: • javac: Command not found • OiPessoal.java: 4 : cannot resolve symbol symbol : method printl(java.lang.String) location: class java.io.PrintStream System.out.printl("Oi Pessoal !!"); • TestaCumprimento.java: 4: Public class TesteCumprimento must Be defined in a file called "TesteGreeting.java”

23

Page 24: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Localizando Erros Comuns de Compilação e Execução

Erros em Tempo de Execução:

• Can’t find class TestaCumprimento • Exception in thread "main" java.lang.NoSuchMethodError:main.

24

Page 25: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Ambiente de Execução Java

25

Page 26: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Primeiros Passos com o NetBeans 5.x Agenda

•Instalando o J2SE 1.5 (Tiger) •Instalando o IDE NetBeans 5.x •Criando sua primeira aplicação com o NetBeans.

26

Page 27: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Instalando e Configurando o J2SE

Para escrevermos nosso primeiro programa em Java, necessitaremos:

• The JavaTM 2 Platform, Standard Edition. o J2SDK e não apenas o JRE (Java Runtime Environment)

• Um Editor de Textos o Pico, Vi, Emacs, Joe, etc...

Estes dois itens são tudo que você precisa para executar seu primeiro programa em Java

27

Page 28: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Instalando o J2SE

• Faça o download do JavaTM 2 Platform, Standard Edition. • Faça o download do J2SDK e não apenas o JRE (Java Runtime

Environment) em http://java.sun.com

• Neste exemplo, fizemos o download do j2sdk-1_5_0_04-linux-i586.bin

• Vá para o diretório onde está o arquivo acima e digite ./j2sdk-1_5_0_04-linux-i586.bin

28

Page 29: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Instalando o J2SE

• Digite “yes” para aceitar os termos de licença.

29

Page 30: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Instalando e Configurando o IDE NetBeans 5.0

•Faça o download do IDE NetBeans 5.0 em www.netbeans.org• Versão utilizada neste curso: netbeans-5.0-linux.bin

• Repare que no site do NetBeans, existe a possibilidade de se fazer o download do netbeans integrado com o JDK (Bundled). Caso baixe esta versão, você não precisará instalar o JDK separadamente • Execute o arquivo para início da instalação

./netbeans-5.0-linux.bin

30

Page 31: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Instalando o IDE NetBeans 5.0

• Clique Next

31

Page 32: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Instalando o IDE NetBeans 5.0

• Aceite os termos de licença e clique Next

32

Page 33: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Instalando o IDE NetBeans 5.0

• Escolha um diretório para instalação do IDE e clique Next

33

Page 34: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Instalando o IDE NetBeans 5.0

O NetBeans necessita do JDK. Selecione o JDK desejado (reparem que tenho dois JDKs na minha máquina) e clique Next.

34

Page 35: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Instalando o IDE NetBeans 5.0

• O NetBeans foi instalado. Clique Finish

35

Page 36: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Iniciando o IDE NetBeans 5.0 • No windows e em algumas distribuições linux, um ícone é

criado na área de trabalho. • Caso esteja utilizando linux e o ícone não seja criado, basta

abrir uma janela do shell, ir para o subdiretório bin da instalação do netBeans e executar a aplicação com o comando ./netbeans

36

Page 37: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Tela Principal do IDE NetBeans 5.0

37

Page 38: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Criando a Primeira Aplicação Java com o IDE NetBeans 5.0

• Selecione o menu File–New Project–General–Java Application e clique em Next

38

Page 39: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Criando a Primeira Aplicação Java com o IDE NetBeans 5.0

39

Page 40: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Criando a Primeira Aplicação Java com o IDE NetBeans 5.0

• Digite capitulo1 em Project Name • Selecione o caminho onde os arquivos do projeto serão gravados (Project Location) • Selecione os checkboxes Set as Main Project e Create Main Class • Digite capitulo1.OiPessoal como nome da classe principal. (é uma boa prática de programação utilizar pacotes para suas classes – capitulo1 é um pacote neste exemplo). • Clique Finish

40

Page 41: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Criando a Primeira Aplicação Java com o IDE NetBeans 5.0

• A estrutura da sua aplicação aparece na janela Projects e o código da classe OiPessoal é aberto automaticamente no editor

41

Page 42: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Criando a Primeira Aplicação Java com o IDE NetBeans 5.0

• Digite System.out.println(“Oi Pessoal”); no método main e Salve o arquivo.

42

Page 43: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

Criando a Primeira Aplicação Java com o IDE NetBeans 5.0

• Acesse o menu Run–Run Main Project ou tecle F6. Sua aplicação é compilada e executada na janela Output. • Parabéns !!! Sua primeira aplicação Java no NetBeans está pronta e você já está pronto para continuar este curso.

43

Page 44: Curso de Programao Orientada a Objetos e · Curso de Programação Orientada a Objetos I 1. Metas do curso Este curso fornece a você conhecimento e habilidades para: ... • A maior

PERGUNTAS??

44