14
Programação Orientada a Objetos – Aula Prática 04 © 2009 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: IMPLEMANTAÇÃO DE CLASSES SIMPLES COM ECLIPSE AULA PRÁTICA Nº 4 Assuntos abordados: Ferramenta Eclipse Escrita de classes simples Execução de aplições O Eclipse (www.eclipse.org ) é uma ferramenta integrada para desenvolvimento de aplicações. Ele é fruto de um consórcio de empresas lideradas pela IBM, que decidiram unir-se para criar uma IDE gratuita, de licença pública, e adaptável a diversas linguagens de programação. A figura a seguir mostra a interface do Eclipse: Figura 1: Interface da IDE Eclipse. À esquerda, encontra-se o Package Explorer. Através dele você pode visualizar e gerenciar os vários recursos que compõem o seu projeto (código fonte, arquivos de configuração, arquivos de imagens, etc.). Ao centro, encontra-se o Editor. Ele é adaptável ao tipo de arquivo sendo editado. Por exemplo, se for um código Java, ele põe as palavras reservadas e caracteres especiais da linguagem em cores diferentes, também possui um recurso de auto-completar o código fonte e um gerador de gabaritos (templates em inglês) de código. Cada aba representa um arquivo aberto. À direita do editor, encontra-se o Outline. Ele é uma espécie de resumo esquemático dos elementos contidos no código fonte. Na figura, vemos que a classe Pessoa e seus elementos internos estão

AULA PRÁTICA Nº 4 - UFPErcmg/cefet-al/proo/praticas/...AULA PRÁTICA Nº 4 Assuntos abordados: • Ferramenta Eclipse • Escrita de classes simples • Execução de aplições

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Programação Orientada a Objetos – Aula Prática 04 © 2009 1

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS

PROFESSOR: REINALDO GOMES ASSUNTO: IMPLEMANTAÇÃO DE CLASSES SIMPLES COM ECLIPSE

AULA PRÁTICA Nº 4

Assuntos abordados: • Ferramenta Eclipse • Escrita de classes simples • Execução de aplições

O Eclipse (www.eclipse.org) é uma ferramenta integrada para desenvolvimento de aplicações. Ele é fruto de um consórcio de empresas lideradas pela IBM, que decidiram unir-se para criar uma IDE gratuita, de licença pública, e adaptável a diversas linguagens de programação. A figura a seguir mostra a interface do Eclipse:

Figura 1: Interface da IDE Eclipse.

À esquerda, encontra-se o Package Explorer. Através dele você pode visualizar e gerenciar os vários recursos que compõem o seu projeto (código fonte, arquivos de configuração, arquivos de imagens, etc.).

Ao centro, encontra-se o Editor. Ele é adaptável ao tipo de arquivo sendo editado. Por exemplo, se for um código Java, ele põe as palavras reservadas e caracteres especiais da linguagem em cores diferentes, também possui um recurso de auto-completar o código fonte e um gerador de gabaritos (templates em inglês) de código. Cada aba representa um arquivo aberto.

À direita do editor, encontra-se o Outline. Ele é uma espécie de resumo esquemático dos elementos contidos no código fonte. Na figura, vemos que a classe Pessoa e seus elementos internos estão

Programação Orientada a Objetos – Aula Prática 04 © 2009 2

sendo exibidos no Outline. Ao clicar sobre um dos elementos da classe no Outline (um método, por exemplo), o editor é posicionado no cabeçalho do método.

Na parte inferior do Eclipse encontram-se diversas ferramentas, integradas sob um painel organizado com várias abas. Na figura vemos a aba Problems. Esta aba informa ao usuário quais são os erros e pendências que ainda existem no código. É aí que aparecerão os erros de sintaxe dos programas. Um fato interessante sobre o Eclipse é que você não precisa mais compilar o código. Ele é compilado automaticamente à medida que você o digita e também quando você salva o arquivo. Se houver algum erro, ele aparecerá na aba Tasks. A outra aba, não exibida na figura, é a aba Console. Ela é utilizada como a saída e a entrada padrões do seu programa e também para exibir mensagens de erro em geral.

A filosofia do Eclipse está baseada no uso de projetos. Não é possível editar uma única classe Java sem criar um projeto antes. Ao definir um projeto, o usuário pode escolher pastas diferentes para colocar recursos diferentes. Por exemplo, os arquivos fontes (.java) poderão ficar numa pasta diferente da que contem os arquivos de bytecode (.class). Isso facilita o empacotamento final da aplicação.

O Eclipse possui ainda uma série de facilidades que aumentam a produtividade do programador Java. A maioria destas facilidades está presente no editor. Com ele é possível, por exemplo, gerar comentários javadoc para membros da classe; formatar o código fonte com a endentação programada; gerar esqueletos de métodos de acesso ou herdados da superclasse; refatorar um método ou propriedade e muitos outros.

O Eclipse é uma ferramenta poderosa e completa. Seu domínio requer certo tempo de uso e também várias consultas aos arquivos de ajuda e tutoriais que vêm com ele.

Visão Geral do Eclipse

Nesta seção vamos varrer as principais opções para o uso básico da ferramenta Eclipse.

Ao Abrir o eclipse à primeira pergunta que ele te faz é qual workspace você vai utilizar. Workspace define o diretório em que as suas configurações pessoais e seus projetos serão gravados. Você pode deixar o diretório sugerido ou pode modificar o diretório.

Logo em seguida uma tela de Welcome será aberta, onde você tem diversos links para tutoriais e ajuda. A tela de Welcome do Eclipse 3.2 (que está na figura a seguir) é um pouco diferente da do 3.1.

Programação Orientada a Objetos – Aula Prática 04 © 2009 3

Fechando a tela de Welcome, você verá a tela abaixo. Nesta tela, destacamos as Views (em linha contínua) e as Perspectives (em linha pontilhada) do Eclipse que já comentamos na seção anterior.

Programação Orientada a Objetos – Aula Prática 04 © 2009 4

Você pode mudar para a perspectiva Resource clicando no ícone ao lado da perspectiva Java selecionando Other e depois Resource. Esta perspectiva possui um conjunto de Views mais simples.

No menu Window > Show View > Other você pode ver as dezenas de Views que já vem embutidas no Eclipse. Acostume-se a sempre procurar novas Views, elas podem ajudar em diversas tarefas.

Programação Orientada a Objetos – Aula Prática 04 © 2009 5

Para criar um novo projeto em Java basta procurar o menu File > New > Project. Selecionar Java Project e clicar em Next.

Após pressionar Next você chegará à tela ilustrada na figura a seguir. Você pode chegar nessa mesma tela dando clique da direta no espaço da View Navigator e seguindo o mesmo menu. Nesta tela, você pode configurar seu projeto como está ilustrado. Ou seja, marcando “create separate source and output folders”, desta maneira seus arquivos java e arquivos .class estarão em diretórios diferentes, para você trabalhar de uma maneira mais organizada. Depois basta clicar em Finish.

Programação Orientada a Objetos – Aula Prática 04 © 2009 6

Na View Navigator, você poderá visualizar o novo projeto e suas pastas e arquivos.

Programação Orientada a Objetos – Aula Prática 04 © 2009 7

Para criar uma classe dentro do projeto basta acessar o menu File > New > Other > Class. Em seguida clicar em Next e crie a classe seguindo a tela abaixo. No final clique em Finish.

Vamos supor que nesta classe tenha se escrito o método deposita como abaixo. Observe que o Eclipse reclama de erro em this.saldo pois este atributo não existe.

Programação Orientada a Objetos – Aula Prática 04 © 2009 8

O Eclipse possui um recurso chamado de quick fix. Para utilizá-lo você pode colocar o cursor em cima do erro e pressionar Ctrl + 1. Será ilustrada a tela abaixo.

O Eclipse vai sugerir possíveis formas de consertar o erro. Uma delas é justamente criar o campo saldo na classe Conta. Você pode escolher esta opção.

Este recurso de quick fixes, acessível pelo Ctrl+1, é uma das grandes facilidades do Eclipse e é extremamente poderoso. Através dele é possível corrigir boa parte dos erros na hora de programar e, como ilustrado, economizar a digitação de certos códigos repetitivos. No nosso exemplo não precisamos criar o campo antes; o Eclipse faz isso para nós. Ele até acerta a “tipagem”, já que estamos somando ele a um double. O private é colocado por motivos que já estudamos.

Para criar a classe de aplicação1, que contém o método main para testar nossa Conta, ao invés de digitar todo o método main, vamos usar o code assist do Eclipse. Escreva só main e pressione Ctrl + Espaço logo em seguida.

O Eclipse vai sugerir a criação do método main completo. O control + espaço é chamado de code assist. Assim como os quick fixes são de extrema importância. Você pode experimentar usar o code assist em diversos lugares.

Se você tentar invocar algum método do objeto conta, por exemplo, o Eclipse sugere os métodos possíveis. Este recurso é bastante útil, principalmente quando estivermos programando com classes

1 Um outra forma de criar a classe aplicação é através do menu File > New > Other > Class e marcando a opção de criação do método public static void main(String[] args).

Programação Orientada a Objetos – Aula Prática 04 © 2009 9

que não são as nossas, como da API do Java. O Eclipse aciona este recurso quando você digita o ponto logo após um objeto (e você pode usar também o Ctrl+Espaço para acioná-lo).

Observe o código abaixo. Note que o Eclipse acusará erro em getSaldo() caso este método não exista na classe Conta. Utilizando Ctrl+1 em cima do erro, você pode corrigir o problema.

Esses pequenos recursos do Eclipse são de extrema utilidade. Dessa maneira você pode programar sem se preocupar com métodos que ainda não existem, já que a qualquer momento ele pode te gerar o esqueleto (a parte da assinatura do método).

Para rodar a aplicação Javan no Eclipse, basta pressionar o botão direito no arquivo Principal.java e escolher a opção Run as... Java Application conforme ilustrado abaixo.

Programação Orientada a Objetos – Aula Prática 04 © 2009 10

O Eclipse abrirá uma View chamada Console onde será apresentada a saída do seu programa.

Quando você precisar rodar novamente, basta clicar no ícone verde de play na toolbar, que roda o programa anterior. Ao lado desse ícone, em geral, tem uma setinha onde são listados os 10 últimos programas executados.

O Eclipse possui muitos atalhos úteis para o programador. Alguns bem interessantes de saber:

• Ctrl + 1 Aciona o quick fixes com sugestões para correção de erros.

• Ctrl + Espaço Completa códigos

• Ctrl + PgUp e Ctrl + PgDown Navega nas abas abertas. Útil quando estiver editando vários arquivos ao mesmo tempo.

• Ctrl + Shift + F Formata o código segundo as convenções do Java

• Ctrl +M Expande a View atual para a tela toda (mesmo efeito de dar dois cliques no título da View)

• Ctrl + Shift + L Exibe todos os atalhos possíveis.

• Ctrl + O Exibe um outline para rápida navegação

Exercício 1: Criando um projeto no Eclipse

Nesta seção você aprenderá como criar um projeto no Eclipse. Seu projeto terá pastas separadas para os arquivos fontes e os bytecodes2. Após criar o projeto, você editará algum código para descobrir algumas das facilidades do Eclipse na edição de código Java.

1) Neste exercício você vai aprender a criar e configurar um novo projeto no Eclipse. Faremos passo-a-passo desta vez. Na próxima, você deverá ser capaz de fazer sozinho.

a) Chame o Eclipse.

b) Selecione File|New...|Project... ou clique na seta para baixo do primeiro botão da barra de botões e selecione Project...

c) Na janela New Project, selecione Java Project à direita.

d) No campo Project Name digite projeto1. Em seguida, clique em Next.

e) Finalize a criação do projeto clicando em Finish. Se tudo correu bem, um novo projeto é exibido no Package Explorer.

2) Expanda o item do Package Explorer referente ao seu projeto para ver o que há num projeto. Seu projeto deve conter duas pastas: uma dos arquivos fontes chamada src e outra das bibliotecas Java necessárias à compilação do seu projeto chamada JRE System Libraries. Você deve estar se perguntando onde está o diretório bin. Ele não aparece na árvore de pastas do Package Explorer.

Exercício 2: Criando uma classe Java

1) Crie uma classe Java no Eclipse:

2 Há um guia de instalação e configuração do Eclipse no site. Utilize-o para instalar e configurar o seu Eclipse.

Programação Orientada a Objetos – Aula Prática 04 © 2009 11

a) Selecione File|New|Class ou selecione o botão de criação de classes na barra de

ferramentas. Ele é o quarto botão da barra: . O diálogo New Java Class é exibido. Antes de digitar algo, observe um pouco este diálogo.

b) Forneça o nome Cliente para a classe (o cursor já está posicionado no campo). Certifique-se que o checkbox para gerar o método main() esteja marcado. Clique em Finish.

Lembre-se Nomes de classes em Java, por convenção, iniciam sempre com maiúsculas! Se o nome for composto, maiúsculas nas iniciais de cada nome.

c) A classe Cliente é criada e o esqueleto do método main() dentro dela também. Observe que os comentários javadoc já foram gerados pelo Eclipse.

d) Observe a janela Outline do Eclipse. Nela podemos ver de forma esquemática a classe Cliente. Clique no método main() do Outline e observe o resultado.

e) Declare três propriedades para a classe Cliente:

/** Nome do cliente. */ private String nome; /** Endereco do cliente */ private String endereco; /** Sexo do cliente */ private char sexo;

Observe novamente o Outline. Clique no botão Hide Fields do Outline (terceiro botão). Clique novamente para desfazer o efeito. Experimente os outros botões do Outline.

2) Clique duaz vezes (rápido) na aba do editor com o nome da classe Cliente. Clique de novo. Isso é útil quando você estiver editando código e não quiser ver as outras ferramentas do Eclipse. Lembre-se de usar esse recurso.

3) Vamos adicionar métodos de acesso às propriedades privadas da classe. Clique com o botão direito do mouse em qualquer área do editor e selecione Source|Generate Getter and Setter... . Na janela apresentada, marque as propriedades endereco e nome. Clique em Ok. Observe o seu código e o Outline. Clique num dos métodos do Outline. Salve a classe.

4) Depois da declaração das propriedades, abra uma linha e digite o seguinte código: public Cliente (String nome, String endereco, char sexo) { this.nome = nome; this.endereco = endereco; this.sexo = sexo; }

5) O Eclipse nos avisa na janela Tasks que faltou implementar o método main()! Digite o seguinte código dentro do main (retire o comentário de lá): Cliente c = new Cliente("Bart", "Springfield", 'M'); c. Veja que o Eclipse casa automaticamente os parênteses e as chaves à medida em que você digita. Observe que o Eclipse abre uma janela popup para mostrar o que pode ser colocado depois do ponto de "c.". Esta dica de auto-complemento pode ser acessada com as teclas Ctrl+Espaço. Selecione setNome(), o Eclipse agora informa que este método esepra que você passe um string para ele. Digite "Bart Simpson". Termine de digitar o resto de main. Seu código deve ficar assim: Cliente c = new Cliente("Bart", "Springfield", 'M'); c.setNome("Bart Simpson" ); System.out.println("O novo nome eh:" + c.getNome());

Programação Orientada a Objetos – Aula Prática 04 © 2009 12

6) Salve a classe. Vamos inserir um erro proposital para ver como o Eclipse identifica e mostra os erros para o usuário. Retire o ponto-e-vírgula da última linha do método main(). Salve a classe. A linha fica marcada e um círculo vermelho que aparece na coluna esquerda. Uma mensagem de erro também é adicionada à lista da aba Tasks. Posicione o cursor sobre o círculo e espere alguns segundos: o erro é indicado. Coloque novamente o ponto-e-vírgula e salve a classe.

a) Vá para o método getCodigo() (use o Outline!) e mude o nome da variável do return para codiga (com a no final). Clique no ícone do círculo com uma lâmpada que aparece à esquerda da linha. Observe o menu de opções para solucionar este problema. Clique rápido duas vezes na primeira opção: Change to 'codigo'. Esse Eclipse é um danado...

Lembre-se Com o Eclipse, não é necessário compilar a classe, basta salvá-la.

7) Digite o seguinte código na classe Cliente (tenha cuidado com as aspas!):

public String toString() {

return "Cliente: " + nome + "\n" + "Endereco: " + endereco + "\n";

}

8) Adicione a seguinte linha ao main (depois da última):

System.out.println("Conteudo do objeto referenciado por c:\n" + c);

Exercício 3: Executando uma classe de aplicação

1) Vamos executar a classe Cliente:

a) Clique na seta para baixo do botão Run (círculo verde com um triângulo). Selecione a opção Run As e depois Java Application. Se o seu arquivo não estiver salvo, o Eclipse pedirá para salvá-lo (clique em Ok) e depois executa a classe. Este procedimento deve ser feito apenas na primeira vez em que se deseja executar uma classe de aplicação.

b) Para executar uma segunda, terceira, ou n-ésima vez esta mesma classe, apenas clique no botão Run.

c) Clique na seta para baixo deste botão e veja que o teste de execução desta classe é o primeiro (e único, por enquanto) da lista.

Exercício 4: Gerando a documentação da classe

1) Primeiramente, configure o Eclipse para localizar o utilitário javadoc do JDK. Selecione Project | Generate Javadoc... No campo o item Javadoc command pressione o botão Configure. e vá para o diretório bin da instalação do seu JDK. Dentro dele, selecione o arquivo javadoc.exe com dois cliques rápidos (as extensões de arquivo podem estar ocultas).

2) Vamos gerar os arquivos propriamente ditos. Na mesma janela, (Project | Generate Javadoc...) no campo Destination digite (ou selecione com Browse) o diretório onde seu projeto está salvo. Se você não souber onde é, cancele a operação de geração do javadoc, clique com o botão direito sobre seu projeto (no Package Explorer) e selecione Properties. A localização de onde está o seu projeto aparece à direita (Location). Repita o início deste passo novamente, selecione o diretório do projeto e clique em Finish.

3) Responda Yes à pergunta se deseja atualizar a 'Javadoc location' com o caminho do seu projeto. Da próxima vez ele não perguntará mais qual é esta pasta e a utilizará automaticamente.

4) Abra a pasta docs do seu projeto e clique duas vezes sobre o arquivo index.html. Navegue na documentação da sua classe.

Exercício 5: Importando uma classe pré-existente

Muitas vezes você precisa importar uma classe que você pegou de terceiros ou baixou na Internet e quer incorporá-la ao seu projeto.

Programação Orientada a Objetos – Aula Prática 04 © 2009 13

1) Selecione File|Import..., escolha a opção General | File System e clique em Next (as outras opções servem para importar um projeto inteiro do Eclipse, um arquivo Zip ou um projeto de um depósito CVS).

2) Escolha o diretório onde está sua classe a ser importada clicando no botão Browse...

3) Navegue na árvore no painel à esquerda até que o arquivo desejado da classe seja visto no painel à direita. Selecione o arquivo da classe desejada.

4) No campo Into folder, selecione a pasta src dentro do seu projeto1.

5) Clique em Finish.

Exercícios de Fixação

Exercício 6: Crie uma nova classe Livro

1) A classe deve possuir as seguintes propriedades.

a) Título do livro, código ISBN, assunto, número de páginas e preço.

2) Gere os métodos de acesso (get e set) automaticamente com o Eclipse (exercício 2, passo 4).

3) Tente escrever o código de um construtor para esta classe que receba valores para os cinco parâmetros e os inicialize.

4) Você é capaz de escrever um método toString() para a sua classe livro? Veja como foi feito na classe Cliente.

5) Escreva um método main() que crie um objeto livro e imprima seu conteúdo através do toString(). Copie o método main() de Cliente e modifique-o.

6) Execute a sua classe.

Exercício 7: Crie uma nova classe Quadrado

1) Propriedades: tamanho do lado do quadrado.

2) Métodos: construtor que receba um valor para o lado, métodos de acesso ao lado,

3) Implemente um método que calcule e devolva área do quadrado

4) Implemente um método main() que crie dois quadrados de tamanhos diferentes e imprima as seguintes informações na console:

O lado do quadrado 1 vale: 4 O lado do quadrado 2 vale: 7 A área do quadrado 1 é: 16 A área do quadrado 2 é: 49

Exercício 8: Crie uma classe Conta

1) Crie um projeto no eclipse. Precisamos fazer a abstração de uma conta bancária. Cada conta deve conter informações sobre o número, tipo da conta (poupança ou corrente...), o nome do titular e o saldo. Sobre essa conta nós poderemos executar as seguintes operações:

- sacar; - depositar; - reajustar, passando o índice de reajuste que só deve ser aplicado se a conta for do tipo poupança; - mudar o tipo da conta. - obter o nome do titular - imprimir as informações da conta no seguinte formato: (Implementar método toString())

Conta: 1253 Titular: Seu nome Tipo: Conta corrente

Programação Orientada a Objetos – Aula Prática 04 © 2009 14

Saldo Atual: 25000.00 Observações:

• Para criar uma conta, deve ser fornecido o número da conta, o nome do titular e o tipo da conta;

• Não se pode sacar dinheiro de uma conta se o valor for maior que o saldo atual; Utilize as regras vistas até o momento sobre como criar classes e garantir o encapsulamento.

Pergunta: Se eu quiser adicionar o serviço transferir(), fazendo a transferência de saldo de uma conta para outra, como poderia surgir essa idéia dentro da classe? Implemente esta idéia.

Crie um método main() para testar as funcionalidades de sua classe. Instancie duas contas, utilize os serviços disponibilizados por elas e ao final imprima o nome do titular da conta que possui o maior saldo.

Em seguida, transfira uma quantia x em dinheiro de uma conta para outra e verifique se a operação foi bem sucedida.