Este é um post disponível para assinantes MVPProblemas e Soluções em Orientação a Objetos - Revista easy Java Magazine 14
Trata da solução de problemas que requerem o uso de orientação a objetos, utilizando uma proposta de metodologia básica que destaca principalmente a criação do modelo de domínio e recursos de orientação a objetos suportados por Java.
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Easy Java Magazine 14
Na Easy Java Magazine nº. 4 foi publicado o artigo Solucionando Problemas usando Java, onde propusemos uma metodologia mínima que pode ser adotada para resolver problemas de programação. Nessa mesma matéria foram apresentados alguns testes cujas soluções foram abordadas usando essa metodologia. O artigo que ora iniciamos irá apresentar mais alguns problemas e resolvê-los usando essa proposta de método. E para facilitar a leitura e o entendimento vamos rever brevemente a metodologia apresentada naquele artigo, que é composta de quatro passos:
Entenda o problema
Este primeiro passo é fundamental, pois não se resolve um problema que não entendemos. Para isso, é primordial entender o domínio do problema – aquelas áreas que são importantes para solução, excluindo o que for irrelevante. Geralmente, o entendimento do domínio passa pela criação de um modelo, expressado pelo diagrama de classes.
Se possível, tente resolver o problema manualmente
Procure dividir o problema em pequenas partes, que possam ser executadas mentalmente usando papel e caneta. É o processo que comumente chamamos de teste de mesa.
Defina com precisão o algoritmo
A utilização de pseudocódigo pode ser um caminho para esse passo. O pseudocódigo deve ser mapeado posteriormente para a linguagem de programação escolhida para o desenvolvimento. Geralmente, cria-se pseudocódigo para as pequenas partes nas quais o problema foi dividido no passo anterior.
Codifique o programa
O último passo do processo é a codificação. Durante essa etapa procure escrever código mais legível, utilize identação e comentários, de forma a facilitar a depuração e manutenção posterior da aplicação.
Agora, vejamos então alguns problemas que abordam temas de Java e suas respectivas soluções que utilizam a metodologia proposta.
Classes e Objetos
Problema: Escreva uma classe chamada Conta que encapsula uma conta de banco e define três variáveis de instância, o titular (String) da conta, o saldo (double) e o limite (double). Além dos construtores e dos métodos getters e setters, escreva os métodos depositar() e sacar(). O método sacar() deve retornar um boolean. Se houver saldo suficiente para o saque, o método deve retornar true, caso contrário, deve retornar false. Escreva um programa para instanciar essa classe e fazer depósitos e saques para validar a solução.
Análise do problema: Este é um problema relativamente simples. O que deve ser observado na criação da classe é que o campo saldo não deve ser alterado através de um método setter, e sim por meio dos métodos depositar() e sacar(). A implementação desses dois métodos requer maior atenção, devido à presença do limite. O limite é um valor que o titular da conta pode sacar no caso de não possuir saldo suficiente. Vejamos então o que acontece quando fazemos um saque. Se a conta possui limite maior que 0, então o saldo da conta pode ficar negativo com o mesmo valor absoluto do limite. Dessa maneira pode-se escrever o pseudocódigo da Listagem 1, para realizar saques na conta.
Listagem 1. Pseudocódigo do método sacar.
funcao sacar(valor: real): lógico;
declare
resultado: lógico;
inicio
se (saldo + limite >= valor) então
saldo := saldo – valor;
resultado := true;
senão
resultado := false;
fim-se;
fim
Observe que a condição (saldo + limite >= valor) no pseudocódigo atende também a situação em que a conta possui limite igual a zero, pois nesta situação precisamos saber se apenas o saldo é suficiente para fazer o saque.
"ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor



0
0
