Crie uma classe ContaBancaria com métodos para realizar operações bancárias como depositar(), sacar() e consultarSaldo(). Em seguida, crie uma subclasse ContaCorrente que herda da classe ContaBancaria. Adicione um método específico para a subclasse, como cobrarTarifaMensal(), que desconta uma tarifa mensal da conta corrente.
package br.com.exercicio.contabancaria;
import java.util.Scanner;
public class ContaBancaria {
private String titular;
protected double saldo;
// métodos
public void consultarSaldo() {
System.out.println("Saldo disponível: R$" + saldo);
}
public void depositar(double valorDeposito) {
saldo += valorDeposito;
System.out.println("Depósito efetuado; Saldo disponível: R$" + saldo);
}
public void sacar(double valorSaque) {
if (saldo >= valorSaque) {
saldo -= valorSaque;
System.out.println("Saque efetuado; Valor Disponível: R$" + saldo);
} else {
System.out.println("Saldo insuficiente.");
}
}
// getters e setters
public String getTitular() {
return titular;
}
public void setTitular(String titular) {
this.titular = titular;
}
public double getSaldo() {
return saldo;
}
public void setSaldo(double saldo) {
this.saldo = saldo;
}
}
package br.com.exercicio.contabancaria;
public class ContaCorrente extends ContaBancaria{
private double tarifaMensal;
// métodos
public void cobrarTarifaMensal() {
saldo -= tarifaMensal;
System.out.println("Saldo disponível: R$" + saldo);
}
// getters e setters
public double getTarifaMensal() {
return tarifaMensal;
}
public void setTarifaMensal(double tarifaMensal) {
this.tarifaMensal = tarifaMensal;
}
}
import br.com.exercicio.contabancaria.ContaBancaria;
import br.com.exercicio.contabancaria.ContaCorrente;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
int operacao = 0;
Scanner leitura = new Scanner(System.in);
ContaCorrente contaCorrente = new ContaCorrente();
contaCorrente.depositar(5000);
contaCorrente.setTarifaMensal(8.50);
contaCorrente.cobrarTarifaMensal();
while (operacao != 4) {
String escolherOperacao = """
Escolha a operação desejada:
1 - Consultar saldo;
2 - Depositar;
3 - Sacar;
4 - Sair.
""";
System.out.println(escolherOperacao);
operacao = leitura.nextInt();
switch (operacao) {
case 1:
contaCorrente.consultarSaldo();
break;
case 2:
System.out.println("Insira o valor do depósito:");
double deposito = leitura.nextDouble();
contaCorrente.depositar(deposito);
break;
case 3:
System.out.println("Insira o valor do saque:");
double saque = leitura.nextDouble();
contaCorrente.sacar(saque);
break;
case 4:
System.out.println("Encerrado.");
break;
}
if (operacao > 4) {
System.out.println("Operação inválida.");
}
}
}
}