• Nenhum resultado encontrado

Programação Orientada por Objectos 2007/08

N/A
N/A
Protected

Academic year: 2021

Share "Programação Orientada por Objectos 2007/08"

Copied!
8
0
0

Texto

(1)

Programação Orientada por Objectos 2007/08

Laboratório 3

MEEC / MEBiome

1. Considere o seguinte programa em Java.

public class Hello {

public static void main(String[] args) { System.out.println("Hello World!"); }

}

Comece por abrir o editor de texto do gnome instalado no laboratório e copia para lá o código em cima. Grave o ficheiro com o nome “Hello.java” na sua directoria raiz.

Abra a linha de comandos do gnome e compile o programa fazendo: javac Hello.java

Note que foi criado o ficheiro “hello.class” correspondente a classe Hello definida no ficheiro “hello.java”. Será criado um ficheiro “.class” para cada classe existente no ficheiro de fonte, mas note que um ficheiro “.java” apenas pode conter uma única classe publica, devendo cada uma destas ser definida no seu próprio ficheiro.

Para correr o programa faça. java Hello

A Java virtual machine carregará a classe Hello definida na linha de comandos do ficheiro “hello.class” e chamará o método main da classe, resultando no aparecimento da mensagem no ecrã.

Crie agora o ficheiro “Echo.java” com a class:

public Class Echo {

public static void main(String[] args) {

for(inti=0; i<args.length; i++) System.out.print(args[i]+ “”); System.out.println();

} }

Grave o ficheiro e faça. javac Echo.java java Echo estou aqui

(2)

2. Abra agora o ambiente de desenvolvimento Eclipse e crie um projecto.

Comece por criar um novo projecto. Faça File→New→Java Project. Defina o nome do projecto como “Account” e faça Finish. Deverá surgir no Package Explorer um o novo projecto “Account”. Faça duplo click para expandir o ramo o ver o conteúdo do projecto.

Crie agora uma nova package igualmente como o nome “Account”. Para tal seleccione o projecto “Account” no package Explorer e pressiono o “new Java package icon” na toolbar. De o nome ao pacote se faça Finish. Um novo icon representando o pacote aparecerá no explorador.

3. Crie uma classe.

Agora crie uma nova classe mais uma vez com o nome “Account”. Para tal seleccione o pacote criado e pressione o icon “new Java class” da toolbar. De nome a class e pressione finish. Verifique que foi criado o ficheiro “Account.java” e aberto no editor com a class respectiva.

Faça copy past do código que se segue de forma a definir a class Accout. Para conseguir

uma correcta formatação faça Source→Format.

Verifique que no package explorer for recriada a estrutura da class com os métodos e atributos lá indicados.

(3)

{

protected double balance;

// Constructor to initialize balance

public Account( double amount ) {

balance = amount; }

// Overloaded constructor for empty balance

public Account() {

balance = 0.0; }

public void deposit( double amount ) {

balance += amount; }

public double withdraw( double amount ) {

// See if amount can be withdrawn

if (balance >= amount) { balance -= amount; return amount; } else

// Withdrawal not allowed

return 0.0; }

public double getbalance() {

return balance; }

}

Experimente a navegar no código pressionando nos diferentes atributos e métodos que surgem no package explorer.

Abra a outline view fazendo Window→Show View→Outline.

A outline view permite-lhe navegar rapidamente no ficheiro corrente e preserva a ordem dos atributos e métodos definida no ficheiro. Pode filtrar o conteúdo de forma a mostrar apenas vários tipos de métodos os de atributos pressionando os botões em cima. Pode ainda chamar a outline view pressionando Ctr+O e utiliza-la para navegar rapidamente no ficheiro.

(4)

Rapidamente surgiram apenas os métodos que começam por “dep”. Pressione “Enter” e será enviado para o método deposit.

4. Crie um novo método.

Coloque-se no fim do código da classe e escreva:

public void interest(double rate){

pressione em Enter e verifique que “}” é adicionado automaticamente no fim do método.

Agora escreva, “this.”. Repare que mal pressione a ponto surge uma janela com o conjunto de opções possíveis para completar a expressão. Este sistema chama-se “content assist” e também pode ser activado pressionando Ctr+Space para completar qualquer expressão. Escreva “ba” de forma a escolher o atributo balance e pressione Enter. Termine o método escrevendo:

this.balance += this.balance*rate;

Note que a medida que vai escrevendo o código por vezes o editor sublinha a vermelho certas passagens. Isto acontece porque o por defeito o seu código é recompilado imediatamente depois de qualquer alteração e o sublinhado indica que a versão actual ainda não está correcta sintaxicamente. O sublinhado a vermelho deve desaparecer depois de completar a instrução. 5. Crie a classe de teste

Adicione mais uma classe ao seu código pressionando e escolhendo agora para a classe o nome

AccountDemo. Seleccione o no botão

 “public static void main(String args[])” de

forma a classe ser criada com um método main. Verifique que surge uma nova class no

package explorer. Faça copy past do código em baixo de forma a definir o método main. Se

necessário faça Source→Format.

package Account;

public class AccountDemo { /**

* @param args */

public static void main(String[] args) {

// Create an empty account

Account my_account = new Account();

// Deposit money

(5)

// Print current balance

System.out.println("Current balance " + my_account.getbalance());

// Withdraw money

my_account.withdraw(80.00);

// Print remaining balance

System.out.println("Remaining balance " + my_account.getbalance()); }

}

6. Correr o seu programa

Seleccione a class AccountDemo no package explorer (esta é a única que possui um

método main). Pressione o botão Run

, na toolbar. Escolha Java Application de entre as

opções que lhe são apresentadas. Verifique o programa corre e que o resultado á

apresentada na janela de consola em baixo:

Current balance 250.0 Remaining balance 170.0

(6)

7. Encontrar erros no código

Remova o “;” da linha da classe que acabou de criar. my_account.withdraw(80.00);

verifique que o fim da linha aparece sublinhada a vermelho indicando um erro e que na scroll bar lateral aparece uma zona a vermelho , indicando o local do erro. Grave o ficheiro e verifique que surge o símbolo no lado esquerdo indicando um erro. Além disso surgem cruzes a vermelho nas classes com erro no package explorer.

Faça Windows→Show View→Problems para surgir uma janela com uma lista de erros no projecto. Basta fazer duplo click no erro para se deslocar para a linha com problemas. Volte a colocar o ponto e virgula e grave o ficheiro.

Agora apague o “w” do withdraw de forma a alterar a linha para, my_account.withdra(80.00);

repare que agora surge na lado direito o icon indicando que há uma sugestão de correcção. Coloque-se na linha com o erro e pressione Ctr+1 um click no icon para ver uma lista de sugestões de correcção. Escolha “change to withdraw” e o erro desaparece.

8. Renomear elementos Java

Seleccione a class Account no package explorer e click com o botão direito e escolha

refactor→rename. Escolha para o novo nome MyAccount e click finish. Verifique que

alterações foram feitas por todo o código nomeadamente na classe AccountDemo que

utilizava esta classe. Faça novamente refactor→rename e altere o nome da classe

novamente para Account.

Na package view experimente a arrastar um método da classe Account para a classe

AccountDemo. Verifique que as respectivas alterações são efectuadas no código. Volte a

arrastar o método para a class Account para eliminar os erros de compilação.

9. Hierarquia de classes

Crie uma nova classe com o nome InterestBearingAccount na campo Superlclass click em Browse e escreva Account. Complete a classe com o código em baixo.

class InterestBearingAccount extends Account {

// Default interest rate of 7.95 percent (const)

private static double default_interest = 7.95; // Current interest rate

private double interest_rate;

// Overloaded constructor accepting balance and an interest rate

(7)

{

balance = amount;

interest_rate = interest; }

// Overloaded constructor accepting balance with a default interest rate

public InterestBearingAccount( double amount ) {

balance = amount;

interest_rate = default_interest; }

// Overloaded constructor with empty balance and a default interest rate public InterestBearingAccount() { balance = 0.0; interest_rate = default_interest; }

public void add_monthly_interest() {

// Add interest to our account

balance = balance +

(balance * interest_rate / 100) / 12; }

}

No package explorer click com o botão direito sobre InterestBearingAccount e escolha Open Type Hierarchy. Observe do hierarquia de classes. Pode utilizar os botões em cima para ver super classes e interfaces, ou subclasses.

10. Debug

Vá para o método Account.deposit(double). Faça duplo click na barra a cinzento do lado

esquerdo da linha

balance += amount;

O icon aparece nesse ponto indicando que foi colocado um ponto de paragem. Agora

escolha a class AccountDemo e pressione o botão de debug da toolbar

. Aceite a

mudança de perspectiva para o modo de debug. Pode mudar entre a perspective entre debug

e de Java clickando nos botões

no canto superior direito.

A Janela de Debug mostra o stack actual de chamadas a funções e o editor indica qual que o

programa se encontra parado no ponto de paragem colocado. Pode utilizar os botões em

cima para percorrer o código linha a linha com entrada ou não em funções ou para

continuar a execução no botão de play.

(8)

Coloque o rato sobre a variável balance. Se aguardar um pouco deverá aparecer uma janela

indicando o valor actual da variável. Pode ainda clickar com o botão direito e escolher

inspect para verificar rapidamente o valor, ou Watch para adicionar ao conjunto de

variáveis que estão constantemente apresentadas na janela Expressions. A janela variables

mostra as variáveis locais do método.

Pressione terminate para sair do modo de debug.

11. eUML2

Considere o tutorial de eUML2 que se encontra em:

http://www.soyatec.com/euml2/com.soyatec.uml.doc/gettingStarted/index.html Siga-o passo a passo de forma a aprender a:

• criar diagrama de classes; • inserir classes e interfaces; • inserir atributos;

• inserir métodos; • inserir associações;

Referências

Documentos relacionados

z tenho conhecimento da existência e disponibilidade do plano Amil Referência, quarto coletivo, com abrangência Nacional, e que ele a mim foi oferecido, sendo minha a opção

No seu livro mais conhecido, sobre o capital dito financeiro, Hilferding intro- duz a designação capital fictício no título da Parte Segunda (HILFERDING, 1985, pp. 11-ss), na

Por isso, o mesmo mostrou-se completamente disposto para realização das extrações dentárias superiores e instalação de implantes osseointegrados na maxila com prótese de arco

Além disso, constatamos que 80% dos estudantes partici- pantes tinham conhecimento da importância do fator idade em casos de ACE antes do treinamento, com elevação para 92% depois

O trabalho teve como objetivos: determinar a soma térmica de fases do ciclo de desenvolvimento da escala de Counce em algumas cultivares Sul Brasileiras de arroz

Explico: assim como Freud, a contragosto, viu desmontada a teoria da sedução pela constatação de que, para o inconsciente, fato e fantasia intensamente carregada tem

Utilização de técnica rápida de aglutinação em látex para determinação semiquantitativa dos níveis séricos de proteína C reativa em cães* Use of a rapid latex

Orientação, capacitação e organização dos empregados para prevenir e controlar a propagação do coronavírus nos locais de trabalho, em cumprimento às medidas divulgadas e adotadas