Pular para o conteúdo
Bruno Dórea
Todos os posts

6 mins de leitura


Herança Bancária - Entendendo a Herança e Polimorfismo

Dominando Desafios de Códigos Intermediários em Java - 4/5


Desenvolvimento Java com IA
Desenvolvimento Java com IA

Descrição

Após o sucesso no desenvolvimento do sistema básico de abertura de contas bancárias, o banco decidiu expandir seus serviços para oferecer diferentes tipos de contas. Agora, além das contas bancárias comuns, eles também oferecem contas poupança. Sua tarefa é implementar a herança e o polimorfismo no sistema, criando uma classe "ContaPoupanca" que herde da classe "ContaBancaria" anteriormente criada. A classe "ContaPoupanca" deve adicionar um novo atributo, taxa de juros, além dos atributos herdados.

Dica: Utilize a herança para criar a classe "ContaPoupanca" que herde da classe "ContaBancaria" e adicione o atributo "taxaJuros". Implemente o método "exibirInformacoes()" na classe "ContaPoupanca" para exibir as informações adicionais.

Entrada

O programa deve solicitar ao usuário as informações necessárias para abrir uma conta poupança. A entrada deve ser feita via console (linha de comando) e deve incluir o número da conta (um valor inteiro), o nome do titular (uma sequência de caracteres), o saldo inicial da conta (um valor decimal) e a taxa de juros da conta poupança (um valor decimal).

Saída

Após receber as informações da conta poupança, o programa deve criar um objeto do tipo "ContaPoupanca" e exibir na tela as informações dessa conta, incluindo o número da conta, o nome do titular, o saldo atual e a taxa de juros. A saída deve ser formatada de forma clara e legível para o usuário.

Exemplos

A tabela abaixo apresenta exemplos com alguns dados de entrada e suas respectivas saídas esperadas. Certifique-se de testar seu programa com esses exemplos e com outros casos possíveis.

EntradaSaída
Conta Poupanca:
JoaoJoao
123456123456
1000.0Saldo: R$ 1000.0
1.5Taxa de juros: 1.5%
EntradaSaída
Conta Poupanca:
AnaAna
789012789012
2500.0Saldo: R$ 2500.0
3.0Taxa de juros: 3.0%
EntradaSaída
Conta Poupanca:
MariaMaria
987654987654
500.0Saldo: R$ 500.0
2.5Taxa de juros: 2.5%

Resolução

import java.text.DecimalFormat;
import java.util.Scanner;
 
public class Desafio {
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String titular = scanner.nextLine();
        int numeroConta = scanner.nextInt();
        double saldo = scanner.nextDouble();
        double taxaJuros = scanner.nextDouble();
 
        ContaPoupanca contaPoupanca = new ContaPoupanca(numeroConta, titular, saldo, taxaJuros);
 
        System.out.println("Conta Poupanca:");
        contaPoupanca.exibirInformacoes();
    }
}
 
class ContaBancaria {
    protected int numero;
    protected String titular;
    protected double saldo;
 
    public ContaBancaria(int numero, String titular, double saldo) {
        this.numero = numero;
        this.titular = titular;
        this.saldo = saldo;
    }
 
    public void exibirInformacoes() {
        DecimalFormat decimalFormat = new DecimalFormat("#.0");
        System.out.println(titular);
        System.out.println(numero);
        System.out.println("Saldo: R$ " + decimalFormat.format(saldo));
    }
}
 
class ContaPoupanca extends ContaBancaria {
    private double taxaJuros;
 
    public ContaPoupanca(int numero, String titular, double saldo, double taxaJuros) {
        super(numero, titular, saldo);
        this.taxaJuros = taxaJuros;
    }
 
    @Override
    public void exibirInformacoes() {
        super.exibirInformacoes();
        DecimalFormat decimalFormat = new DecimalFormat("#.0");
        System.out.println("Taxa de juros: " + decimalFormat.format(taxaJuros) + "%");
    }
}

Para encontrar outras soluções, verifique aqui.

Caso encontre algum erro ou tenha sugestões, clique aqui e abra uma issue no Github.