1. Vamos usar as classes ObjectOutputStream
e ObjectInputStream
junto com classes genéricas
para criar um banco de objetos que vai poder ser usado com diferentes tipos de objeto. O único
requisito para um objeto poder ser salvo em um banco vai ser implementar a interface Elemento
:
Construa uma classe genérica BancoObjetos<TELEM extends Elemento>
para armazenar objetos.
O construtor de BancoObjetos
deve receber uma string dando o diretório onde os objetos serão
gravados e lidos. Caso o diretório não exista ele deve ser criado. Use a classe File
para isso,
em particular os métodos exists
e mkdirs
.
Cada elemento do banco deve ficar armazenado em um arquivo separado nesse diretório, com o nome do arquivo é
formado pela chave mais a extensão “.objeto”. BancoObjetos
precisa de dois métodos, ler
e gravar
.
O método ler
recebe uma chave e retorna o objeto correspondente àquela chave (ou null
se ele não existir).
O método gravar
recebe um objeto e o grava no banco, e retorna true
se a gravação foi bem sucedida ou
false
se ocorreu algum problema na gravação.
Para instanciar as classes ObjectOutputStream
e ObjectInputStream
você também vai precisar instanciar
FileOutputStream
e FileInputStream
.
A classe ContaCorrente
abaixo exercita o banco de objetos:
2. Adicione memória ao modelo da calculadora. A calculadora tem quatro operações
envolvendo a memória: limpa
, que zera a memória, msoma
, que adiciona o valor do display à memória,
msub
, que subtrai o valor do display da memória, e recupera
, que substitui o que está no display
pelo valor da memória. O funcionamento da memória é o mesmo não importa qual o estado da calculadora.
3. Adicione uma operação trocaSinal
ao modelo da calculadora do exercício anterior, que inverte o sinal
do que está no display (negativo para positivo, positivo para negativo).
Última Atualização: 2016-05-18 10:58