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.
public class ContaBancaria {
public void depositar() {
}
public void sacar() {
}
public void consultarSaldo() {
}
}
import java.util.Scanner;
public class ContaCorrente extends ContaBancaria {
private double saldo;
private double saque;
private double tarifa;
Scanner sc = new Scanner(System.in);
@Override
public void depositar() {
System.out.println("\n===== FUNÇÃO DEPOSITAR =====");
System.out.println("Digite o valor do depósito: ");
this.setSaldo(sc.nextDouble());
System.out.println("Seu novo saldo é: R$ " + this.getSaldo());
}
@Override
public void sacar() {
System.out.println("\n===== FUNÇÃO SACAR =====");
System.out.println("Digite o valor que deseja sacar: ");
this.setSaque(sc.nextDouble());
if (this.getSaque() > this.getSaldo()) {
System.out.println("\nSaldo indisponível! Tente novamente!");
} else {
this.setSaldo(this.getSaldo() - this.getSaque());
System.out.println("\nSeu novo saldo após o saque é: R$ " + this.getSaldo());
}
}
@Override
public void consultarSaldo() {
System.out.println("\n===== FUNÇÃO CONSULTAR SALDO =====");
System.out.println("Seu saldo atualmente em conta é: R$ " + this.getSaldo());
}
public void cobrarTarifaMensal() {
if (this.getSaldo() > 0) {
System.out.println("\n===== COBRANÇA DE TARIFA =====");
this.setTarifa(this.getSaldo() - (this.getSaldo() * 0.1));
this.setSaldo(this.getSaldo() - this.getTarifa());
System.out.println("Valor cobrado de Tarifa Mensal: R$ " + this.getSaldo());
System.out.println("Valor do saldo após a cobrança da tarifa: R$ " + this.getTarifa());
} else {
System.out.println("\nVocê não possui saldo para ser tarifado!");
}
}
public double getSaldo() {
return saldo;
}
public void setSaldo(double saldo) {
this.saldo = saldo;
}
public double getSaque() {
return saque;
}
public void setSaque(double saque) {
this.saque = saque;
}
public double getTarifa() {
return tarifa;
}
public void setTarifa(double tarifa) {
this.tarifa = tarifa;
}
}
public class Principal {
public static void main(String[] args) {
ContaCorrente cc = new ContaCorrente();
cc.depositar();
cc.sacar();
cc.consultarSaldo();
cc.cobrarTarifaMensal();
}
}
Execução 1 - Programa é executado
Execução 2 - Saque maior que saldo
Execução 3 - Valor saldo 0 não tarifado