1
resposta

Hora da prática: desafios concluídos (3).

3- Crie uma classe ContaBancaria...

package desafio3;

public class ContaBancaria {
    protected double saldo;

    public double depositar(double valor){
        saldo += valor;
        System.out.println(String.format("Deposito realizado. Saldo atual: R$%.2f", saldo));
        return valor;
    }
    public void sacar(double valor){
        if (valor <= saldo) {
            saldo -= valor;
            System.out.println(String.format("Saque realizado. Saldo atual: R$%.2f", saldo));
        } else {
            System.out.println("Você não possui esse saldo para saque.");
        }
    }
    public double consultarSaldo(){
        System.out.println(String.format("Saldo atual: R$%.2f", saldo));
        return 0;
    }
}
package desafio3;

public class ContaCorrente extends ContaBancaria{
    private double tarifaMensal = 12.50;

    public void cobrarTarifaMensal(){
        if (saldo > tarifaMensal){
            saldo -= tarifaMensal;
            System.out.println(String.format("Tarifa mensal de R$%.2f cobrada. Saldo atual: R$%.2f", tarifaMensal, saldo));
        } else {
            System.out.println("Saldo insuficiente para cobrança de tarifa mensal.");
        }
    }
}
import desafio3.ContaBancaria;
import desafio3.ContaCorrente;

import java.util.Scanner;

public class MainContaBancaria {
    public static void main(String[] args) {
        ContaCorrente conta = new ContaCorrente();
        int opcao = 0;

        String operacoes = """
                
                Operações:
                
                1- Consultar Saldo
                2- Depositar
                3- Sacar
                4- Encerrar
                
                Digite a opção:
                """;

        Scanner leitura = new Scanner(System.in);

        while (opcao != 4){
            System.out.println(operacoes);
            opcao = leitura.nextInt();

            if (opcao == 1){
                conta.consultarSaldo();
            } else if (opcao == 2){
                System.out.println("Quanto deseja depositar?");
                double deposito = leitura.nextDouble();
                conta.depositar(deposito);
            } else if (opcao == 3){
                System.out.println("Quanto deseja sacar?");
                double saque = leitura.nextDouble();
                conta.sacar(saque);
            } else if (opcao == 4){
                conta.cobrarTarifaMensal();
            } else {
                System.out.println("Opção inválida.");
            }
        }
    }
}
1 resposta

Oi, Leo! Como vai?

Seu projeto ficou bem estruturado e mostra domínio dos conceitos de herança e encapsulamento. A separação entre a classe base ContaBancaria e a classe derivada ContaCorrente está bem clara e faz total sentido nesse contexto.

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