- Este tópico contém 4 respostas, 2 vozes e foi atualizado pela última vez 1 ano, 3 meses atrás por Tutora Jessica.
-
AutorPosts
-
-
10 de agosto de 2023 às 11:56 #121293Neander FontesParticipante
– Gostaria de uma avaliação do meu código com as instruções dadas em Java POO – AulaTeórica06:
» Código abaixo referente a Encapsulamento, Criação da interface com os métodos abstratos:
package Poo_estudonauta.Encapsulamento; /* * Criação de Interface para Encapsulamento. * Implementando Métodos abstratos para a class ContaBanco * Métodos: abrirConta(), fecharConta(), depositar(), sacar(), pagarMensalidade(); */ public interface InterfaceBanco { //Encapsulamento Métodos abstratos: public abstract void statusAtual(); public abstract void abrirConta(String tipoConta); public abstract void fechaConta(); public abstract void depositar(int valorDepositado); public abstract void sacar(int valorSacar); public abstract void pagarMensalidade(); }
» Criação do Objeto
» Configurando os atributos
» Configurando os métodos específicos funcionais
» Métodos Getter, Setter e Construct
» implementando os códigos lógicos @overridepackage Poo_estudonauta.Encapsulamento; public class PraticaEncapsulamento implements InterfaceBanco{ //Atributos do Objeto ContaBanco: private int numConta; private String tipoConta; private String dono; private int saldo; private boolean statusConta; //Método construct: public PraticaEncapsulamento() { //Se nova conta conta não existe. this.saldo = 0; //Se nova conta saldo == 0 this.statusConta = false; } //Métodos Especiais getter e setter: public void setNumConta(int numConta) { this.numConta = numConta; } public int getNumConta() { return numConta; } public void setTipoConta(String tipoConta) { this.tipoConta = tipoConta; } public String getTipoConta() { return tipoConta; } public void setDono(String dono) { this.dono = dono; } public String getDono() { return dono; } public void setSaldo(int saldo) { this.saldo = saldo; } public int getSaldo() { return saldo; } public void setStatusConta(boolean statusConta) { this.statusConta = statusConta; } public boolean getStatusConta() { return statusConta; } //Métodos Abstratos @Override public void statusAtual() { System.out.println("====================== STATUS ATUAL DA CONTA ======================"); System.out.println("Conta nº: " + this.getNumConta()); System.out.println("Tipo da conta: " + this.getTipoConta()); System.out.println("Dono: " + this.getDono()); System.out.println("Saldo Atual R$" + this.getSaldo()); if (this.getStatusConta()) { System.out.println("Status da conta: Ativada!!"); } else { System.out.println("Status da conta: Desativada!!"); } System.out.println("==================================================================="); } @Override public void abrirConta(String tipoConta) { this.setTipoConta(tipoConta); this.setStatusConta(true); //Se abrir Conta Corrente, recebe 50€: if ((tipoConta).equalsIgnoreCase("CC")) { this.setSaldo(50); //Se abrir Conta Poupança, recebe 50€: } else if ((tipoConta).equalsIgnoreCase("CP")) { this.setSaldo(150); } System.out.println("Conta Aberta com Sucesso!!"); } @Override public void fechaConta() { //Se Saldo positivo pedir pra retirar dinheiro if(this.getSaldo() > 0) { System.out.println("Conta contém dinheir, precisa zerar"); //Se Saldo negativo pedir para pagar o débito } else if (this.getSaldo() < 0) { System.out.println("Você precisa pagar débito para fechar conta."); //Fechar conta somentne se Saldo == 0€ } else { this.setStatusConta(false); System.out.println("Conta Fechada com Sucesso!"); } } @Override public void depositar(int valorDepositado) { //Se status da conta for verdadeiro efetuar depósito: if (this.getStatusConta()) { this.setSaldo(getSaldo() + valorDepositado); System.out.println("Depósito realizado com sucesso"); } else { System.out.println("Abra conta para realizar depósito"); } } @Override public void sacar(int valorSacar) { //Se status da conta for verdadeiro e se saldo maior que 0 if (this.getStatusConta()) { if (this.getSaldo() >= valorSacar) { this.setSaldo(getSaldo() - valorSacar); System.out.println("Valor levantado com sucesso!"); } else { System.out.println("Saldo insuficiente."); } } else { System.out.println("Abra conta para poder realizar levantamento"); } } @Override public void pagarMensalidade() { //Obs: Mensalidade cobrada quando chamar o metodo int valorMensalidade = 0; //Mensalidade contaCorrente = 12 reais if (this.getTipoConta().equalsIgnoreCase("CC")) { valorMensalidade = 12 ; //Mensalidade contaPoupanca = 20 reais } else if (this.getTipoConta().equalsIgnoreCase("CP")) { valorMensalidade = 20; } if (this.getStatusConta()) { if (this.getSaldo() > valorMensalidade) { this.setSaldo(this.getSaldo() - valorMensalidade); System.out.println("Valor de mensalidade " + valorMensalidade + "debitada na conta de " + getDono()); } else { System.out.println("Saldo insuficiente"); } } else { System.out.println("Conta inexistente."); } } }
» Instanciando Objeto:
package Poo_estudonauta.Encapsulamento; import Poo_estudonauta.Teste_metodos.ContaBanco; public class BancoTester { public static void main(String[] args) { //Método main principal: //Inicializando o Objeto ContaBanco e criando nova variável: PraticaEncapsulamento conta1 = new PraticaEncapsulamento(); //Atribuição direto por parâmetro: conta1.setNumConta(1111); conta1.setDono("Neander"); //Abertura de conta conta1.abrirConta("CC"); //Estado atual da conta: conta1.statusAtual(); } }
-
10 de agosto de 2023 às 12:07 #121294Neander FontesParticipante
Gostaria de fazer alguns adendos a questão acima:
1) Estou utilizando IDE Intellij IDEA e quando utilizo o método “public abstract void statusAtual();”, não da erro, mas as palavras reservadas somente a “void” fica ativa no código.
2) Fiquei um pouco insatisfeito, no meu pensamento void é vazio, como e já que a função do método é rescrever o código ele não deveria contor void, corrreto? -
10 de agosto de 2023 às 13:17 #121297Tutora JessicaModerador
Ola Neander, seu código esta dando algum erro específico?
Você poderia nos enviar um print pelo discord? -
10 de agosto de 2023 às 14:03 #121300Neander FontesParticipante
Pronto já enviei print do código para o discord!
É como se a escrita do código está errada, a forma de montar a estrutura, não sei formular direito a pergunta por falta de conhecimento, estou desenvolvendo melhor as tecnicas.
Respondendo sua pergunta, sim o código funciona normalmente, tem retorno dos métodos de acordo com o que é instanciado. -
10 de agosto de 2023 às 14:27 #121308Tutora JessicaModerador
Ola Neander, isso você aprende com o tempo, o que te indico é sempre pesquisar melhores formas de programar, e você vai se adaptando a sua forma pessoal, seu código esta como no vídeo desse exercício, conforme o tempo e durante o curso você vai aprendendo novas etapas e novas formas, o importante é seu código estar funcionando conforme é mostrado no exercício, e seu código está funcionando certinho.
Ainda não recebi o print pelo discord, você colocou na parte de Java mesmo? Nos envie por la por favor 🙏🏼
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.