Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Implementação de ContaBancaria

Fiz um pouco diferente do proposto que na minha visão ficou melhor pelo fato de não usar Herança e menos código.

O que vocês acham?

package br.alura.refatoracao.cap4;

public class ContaBancaria {
    private final String titular;
    private final TipoConta tipoConta;
    private double saldo;

    public ContaBancaria(String titular, double saldoInicial, TipoConta tipoConta) {
        this.titular = titular;
        this.tipoConta = tipoConta;
        this.saldo = saldoInicial;
    }

    public void saca(double valor) {
        saldo -= valor + tipoConta.getValorDesconto();
    }

    public void deposita(double valor) {
        saldo += valor - tipoConta.getValorDesconto();
    }

    public double getSaldo() {
        return saldo;
    }

    public String getTitular() {
        return titular;
    }

    public enum TipoConta {
        FISICA(0.1), JURIDICA(0.2);

        private double valorDesconto;

        private TipoConta(double valorDesconto) {
            this.valorDesconto = valorDesconto;
        }

        double getValorDesconto() {
            return valorDesconto;
        }
    }
}
1 resposta
solução!

Ficou da hora. Como no curso não fala de design patterns e só refatoração então não há muito rigor. Tem alguma dúvida sobre o assunto?