Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

EMSO.EXE

[Resolvido] Dificuldade com Herança

Recommended Posts

Pessoal não estou conseguindo enviar os valores de crédito, débito e transferência com os objetos (doCredito, doDebito e doTransferencia) para a classe conta e efetuar as operações, além do que não enxergo como utilizar o getSaldo... o mais próximo que consegui foi como mostrado abaixo, mas isso não é o ideal... alguém pode mostrar como posso fazer? Estou muito perdido :upset: e obrigatoriamente tenho que seguir essa estutura.

 

Agradeço a ajuda

 

Conta

# saldo: float

+ Conta()

+ Conta(float)

+ setSaldo(float)

+ getSaldo(): float

+ doCredito(float)

+ doDebito(float)

+ doTransferencia(Conta, float)

 

Poupanca

+ Poupanca(float)

+ doCorrecao(float)

 

CLASSE TesteConta

import java.util.Scanner;

class TesteConta
{
     public static void main(String[] args)
     {
            Conta CC1 = new Conta();
            Conta CC2 = new Conta();
            Poupanca CP = new Poupanca();
            Scanner in = new Scanner(System.in);

            System.out.println(" Qual o saldo CC1: ");
            CC1.setSaldo(in.nextLine());

            System.out.println(" Qual o saldo da CC2: ");
            CC2.setSaldo(in.nextLine());

            System.out.println(" Qual o saldo da CP: ");
            CP.setSaldo(in.nextLine());

            System.out.println(" Creditado 300 - Saldo de CC1: " + (CC1.doCredito() + 300));
            System.out.println(" Debitado 200 - Saldo de CC2: " + (CC2.doDebito() - 200));

            CC1.setSaldo(Float.toString(CC1.doCredito() + 300));
            System.out.println(" Transferido 400 de CC1 para CC2 - Saldo de CC2: " + (CC1.doTransferencia()));

            System.out.println(" Saldo corrigido da poupanca: " + CP.doCorrecao());
     }
}

 

CLASSE Conta

class Conta
{
     protected String saldo;

     public Conta(String _saldo)
     {
            saldo = _saldo;
     }

     public Conta(){}

     public void setSaldo(String _saldo)
     {
            Float.parseFloat(_saldo);
            saldo = _saldo;
     }

     public float doCredito()
     {
            return Float.parseFloat(saldo);
     }

     public float doDebito()
     {
            return Float.parseFloat(saldo);
     }

     public float doTransferencia()
     {
            return Float.parseFloat(saldo);
     }
}

 

Classe Poupança

class Poupanca extends Conta
{
     public Poupanca(String _saldo)
     {
            super(_saldo);
     }

     public Poupanca(){}

     public float doCorrecao()
     {
            return Float.parseFloat(super.saldo) * 1.065f;
     }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou te dar só uma pista. Uma vez que você desenhou suas classes de modelo erradamente, consertando-as ficará mais fácil resolver.

public class Conta {
     protected Float saldo;

     public Conta(Float _saldo) {
            saldo = _saldo;
     }

     public Conta() { }

     public void setSaldo(Float _saldo) {
            saldo = _saldo;
     }

     public Float getSaldo() {
            return saldo;
     }

     public void doCredito(Float valor) {
            saldo += _valor;
     }

     public void doDebito(Float valor) {
            saldo _= valor;
     }

     public void doTransferencia(Conta contaDestino, Float valor) {
            doDebito(valor);
            contaDestino.doCredito(valor);
     }
}

 

public class Poupanca extends Conta {
     public Poupanca(Float _saldo) {
            super(_saldo);
     }

     public Poupanca() { }

     public void doCorrecao() {
            doCredito(saldo * 1.065f);
     }
}

 

Agora ficou mais fácil que chupar balinha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui finalizar o projeto ^_^ , segue código...

 

Obrigado pela ajuda!!! :joia:

 

import java.util.Scanner;

class TesteConta
{
     public static void main(String[] args)
     {
            Conta cC1 = new Conta();
            Conta cC2 = new Conta();
            Poupanca cP = new Poupanca();
            Scanner in = new Scanner(System.in);

            System.out.println(" --------------- cC1 --------------- ");
            System.out.println(" Qual o saldo cC1: ");
            cC1.setSaldo(in.nextFloat());
            System.out.println(" + Creditar em cC1: ");
            cC1.doCredito(in.nextFloat());
            System.out.println(" ++ Saldo atual de cC1: " + cC1.getSaldo());
            System.out.println(" - Debitar em cC1: ");
            cC1.doDebito(in.nextFloat());
            System.out.println(" -- Saldo atual de cC1: " + cC1.getSaldo());
            System.out.println("  ");

            System.out.println(" --------------- cC2 --------------- ");
            System.out.println(" Qual o saldo da cC2: ");
            cC2.setSaldo(in.nextFloat());
            System.out.println(" + Creditar em cC2: ");
            cC2.doCredito(in.nextFloat());
            System.out.println(" ++ Saldo atual de cC2: " + cC2.getSaldo());
            System.out.println(" - Debitar em cC2: ");
            cC2.doDebito(in.nextFloat());
            System.out.println(" -- Saldo atual de cC2: " + cC2.getSaldo());
            System.out.println("  ");

            System.out.println(" --------------- cP --------------- ");
            System.out.println(" Qual o saldo da cP: ");
            cP.setSaldo(in.nextFloat());
            System.out.println(" + Creditar em cP: ");
            cP.doCredito(in.nextFloat());
            System.out.println(" ++ Saldo atual de cP: " + cP.getSaldo());

            System.out.println(" $ Correção monetária de 0,65% em cP ");
            cP.doCorrecao(cP.getSaldo());
            System.out.println(" $$ Saldo atual de cP: " + cP.getSaldo());
            System.out.println("  ");

            System.out.println(" - Debitar em cP: ");
            cP.doDebito(in.nextFloat());
            System.out.println(" -- Saldo atual de cP: " + cP.getSaldo());
            System.out.println("  ");

            System.out.println(" $ Correção monetária de 0,65% em cP ");
            cP.doCorrecao(cP.getSaldo());
            System.out.println(" $$ Saldo atual de cP: " + cP.getSaldo());
            System.out.println("  ");

            System.out.println(" ------ Transferência de cC1 ------ ");
            System.out.println("  ");
            System.out.println(" Valor a transferir para cC2: ");
            cC1.doTransferencia(cC2,in.nextFloat());
            System.out.println(" -- Saldo atual de cC1: " + cC1.getSaldo());
            System.out.println(" ++ Saldo atual de cC2: " + cC2.getSaldo());
            System.out.println("  ");
            System.out.println(" Valor a transferir para cP: ");
            cC1.doTransferencia(cP,in.nextFloat());
            System.out.println(" -- Saldo atual de cC1: " + cC1.getSaldo());
            System.out.println(" ++ Saldo atual de cP: " + cP.getSaldo());

            System.out.println(" ------ Transferência de cC2 ------ ");
            System.out.println("  ");
            System.out.println(" Valor a transferir para cC1: ");
            cC2.doTransferencia(cC1,in.nextFloat());
            System.out.println(" -- Saldo atual de cC2: " + cC2.getSaldo());
            System.out.println(" ++ Saldo atual de cC1: " + cC1.getSaldo());
            System.out.println("  ");
            System.out.println(" Valor a transferir para cP: ");
            cC2.doTransferencia(cP,in.nextFloat());
            System.out.println(" -- Saldo atual de cC2: " + cC2.getSaldo());
            System.out.println(" ++ Saldo atual de cP: " + cP.getSaldo());

            System.out.println(" ------ Transferência de cP ------ ");
            System.out.println("  ");
            System.out.println(" Valor a transferir para cC1: ");
            cP.doTransferencia(cC1,in.nextFloat());
            System.out.println(" -- Saldo atual de cP: " + cP.getSaldo());
            System.out.println(" ++ Saldo atual de cC1: " + cC1.getSaldo());
            System.out.println("  ");
            System.out.println(" Valor a transferir para cC2: ");
            cP.doTransferencia(cC2,in.nextFloat());
            System.out.println(" -- Saldo atual de cP: " + cP.getSaldo());
            System.out.println(" ++ Saldo atual de cC2: " + cC2.getSaldo());
     }
}

 

public class Conta
{
     protected Float saldo;

     public Conta(Float _saldo)
     {
            saldo = _saldo;
     }

     public Conta() { }

     public void setSaldo(Float _saldo)
     {
            saldo = _saldo;
     }

     public float getSaldo()
     {
            return saldo;
     }

     public float doCredito(Float _valor)
     {
            return saldo += _valor;
     }

     public float doDebito(Float _valor)
     {
            return saldo -= _valor;
     }

     public void doTransferencia(Conta contaDestino, Float _valor)
     {
            doDebito(_valor);
            contaDestino.doCredito(_valor);
     }
}

 

public class Poupanca extends Conta
{
     public Poupanca(Float _saldo)
     {
            super(_saldo);
     }

     public Poupanca() { }

     public float doCorrecao(Float _saldo)
     {
            return saldo = saldo * 1.065f;
     }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.