P O O 2006/2007 Trabalho de Laboratório 3 Objectivos: Introdução às classes e objectos em Java com composição de classes Programas: Um coleccionador de moedas colecciona moedas do mesmo tipo, ou seja moedas do mesmo valor e emitidas no mesmo ano guardando-as num mealheiro. Ele prentende uma informação informática que lhe permita acrecentar moedas, saber quantas moedas existem e ainda esvaziar o mealheiro. Regras de implementação: Criar uma aplicação Java de consola. Implementar o código necessário e testar no fim de cada nível Não é necessário obter dados do utilizador. Forneça os dados ao nível do código. Use as convenções de codificação adoptadas habitualmente para a linguagem Java Na classe do programa não ponha nenhum atributo nem crie nenhum método para além do main. Implementação: Nível 1: Implemente uma classe ‘Moeda’ que representa uma moeda e que guarda a informação sobre o seu valor e o ano de emissão. Inclua os construtores que achar necessários e os métodos que permitam alterar e obter os valores dos atributos que criou. Nível 2: Acrescente à classe ‘Moeda’ um método que recebe como argumento um objecto da classe ‘Moeda’ e que devolve um valor lógico ‘true’ no caso do objecto passado ter o mesmo valor e ano de emissão da moeda guardada e ‘false’ no caso contrário. Nível 3: Implemente agora a classe ‘Mealheiro’ que tem como atributos uma moeda (um objecto da classe ‘Moeda’) e um contador do número de moedas. Nota: Um objecto desta classe apenas irá guardar um conjunto de moedas do mesmo tipo (ano de emissão e valor iguais) cujo total está na variavel que implementa o contador. Inclua os construtores que achar necessários. O contador deverá ser inicializado a 0. A moeda inicial deverá ser fornecida no construtor ou num método separado criado para esse efeito. Nível 4: Acrescente um método ao mealheiro que recebe uma ‘moeda’ como argumento e que a acrescenta ao mealheiro (incrementando o contador) caso seja igual à guardada ou, caso contrário, não produza qualquer efeito. Crie tambem um método para esvaziar o mealheiro que recebe uma nova ‘moeda’ como argumento. Esta moeda deverá ser usada como moeda do mealheiro e o contador deve ser colocado a zero. Teste este nível mostrando no ecrã a informação do mealheiro (moeda guardada e valor do contador). Nota: o método de visualização (System.out.print...) deve estar fora das classes criadas. Nível 5: Corrija o código anterior onde achar necessário de forma a que qualquer moeda com o ano anterior a 1974 e posterior a 2007 não seja considerada válida. (Justifique as opções tomadas). Escola Superior de Tecnologia de Setúbal 1/1