Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Minha resolução Conta Bancária

public class ContaBancaria {
    protected double saldo;

    public void depositar(double valor) {
        if (valor < 0) {
            System.out.println("Esse valor não é valido.");
        } else {
            saldo += valor;
            System.out.println("Deposito de " + valor + " realizado. Saldo atual: " + saldo );
        }
    }
    public void sacar(double valor) {
        if (valor > saldo) {
            System.out.println("Saldo insuficiente");
        } else {
            saldo -= valor;
            System.out.println("Saque de " + valor + " realizado. Saldo atual: " + saldo);
        }
    }
    public void consultarSaldo(){
        System.out.println("Seu saldo é: " + saldo);
    }
}
public class ContaCorrente extends ContaBancaria{
    private double tarifaMensal;

    public double getTarifaMensal() {
        return tarifaMensal;
    }

    public void setTarifaMensal(double tarifaMensal) {
        this.tarifaMensal = tarifaMensal;
    }

    public void cobrarTarifaMensal(){
        saldo -= tarifaMensal;
        System.out.println("Tarifa Mensal cobrada: " + tarifaMensal + "R$. Saldo atual: " + saldo);
    }
}
public class TesteConta {
    public static void main(String[] args) {
        ContaBancaria conta1 = new ContaBancaria();
        conta1.depositar(1000);
        conta1.consultarSaldo();

        ContaCorrente conta2 = new ContaCorrente();
        conta2.depositar(1200);
        conta2.sacar(100);
        conta2.setTarifaMensal(10);
        conta2.cobrarTarifaMensal();
    }
}
1 resposta

Olá, Pedro! Como vai?

A sua resolução ficou bem estruturada e mostra um bom uso de herança, já que ContaCorrente reaproveita os atributos e métodos de ContaBancaria. Também ficou legal a separação das responsabilidades entre depositar(), sacar(), consultarSaldo() e cobrarTarifaMensal().

Uma dica é validar também valores iguais a zero nos métodos depositar() e sacar(), usando algo como valor <= 0, para evitar operações sem sentido. Também vale verificar se há saldo suficiente antes de cobrar a tarifa mensal.

Como você adaptaria essa classe para impedir que a tarifa mensal deixe o saldo negativo?

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!