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
1
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.
2
Programação Orientada a Objetos – Aula Prática 04 © 2009
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
3
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.
4
Programação Orientada a Objetos – Aula Prática 04 © 2009
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
5
Na View Navigator, você poderá visualizar o novo projeto e suas pastas e arquivos.
6
Programação Orientada a Objetos – Aula Prática 04 © 2009
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
7
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).
8
Programação Orientada a Objetos – Aula Prática 04 © 2009
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
9
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.
10
Programação Orientada a Objetos – Aula Prática 04 © 2009
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
11
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.
12
Programação Orientada a Objetos – Aula Prática 04 © 2009
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
O
A
A
lado
lado
área
área
do
do
do
do
quadrado
quadrado
quadrado
quadrado
1
2
1
2
vale: 4
vale: 7
é: 16
é: 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
13
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.
14
Programação Orientada a Objetos – Aula Prática 04 © 2009
Download

AULA PRÁTICA Nº 4 - Centro de Informática da UFPE