Aqui esta
Autenticavel
package br.com.byteBank.banco.Modelo;
public abstract interface Autenticavel {
public abstract void setSenha(int senha);
public abstract boolean autentica(int senha);
}
Contacorrente
package br.com.byteBank.banco.Modelo;
public class ContaCorrente extends Conta implements Tributavel {
public ContaCorrente(int agencia, int numero) {
super(agencia , numero);
}
@Override
public void saca(double valor) throws SaldoInsuficiente {
double tarifa = valor + 0.25;
super.saca(tarifa);
}
@Override
public void deposita(double valor) {
super.saldo += valor;
}
@Override
public double getvalorImposto() {
return super.saldo*0.01;
}
@Override
public String toString() {
return "ContaCorrente: " + super.toString(); //+ " , "+ "Saldo: "+super.getSaldo();
}
}
ContaPoupança
package br.com.byteBank.banco.Modelo;
public class Contapoupanca extends Conta {
public Contapoupanca(int agencia, int numero) {
super(agencia, numero);
}
@Override
public void saca(double valor) throws SaldoInsuficiente {
double tarifa = valor + 0.25;
super.saca(tarifa);
}
@Override
public void deposita(double valor) {
super.saldo += valor;
}
@Override
public String toString() {
return "ContaPoupanca: " + super.toString() +" , "+ "Saldo: "+super.getSaldo();
}
}
conta
package br.com.byteBank.banco.Modelo;
/**
* Classe representa a moldura de uma conta
*
*@author Matheus franca
*
*/
public abstract class Conta {
protected double saldo;
private int agencia;
private int numero;
private Cliente titular;
private static int total= 0;
public Conta(int agencia, int numero) {
Conta.total++;
//System.out.println("O total de contas é " + Conta.total);
this.agencia = agencia;
this.numero = numero;
//this.saldo = 100;
//System.out.println("Estou criando uma conta" + this.numero);
}
public abstract void deposita(double valor);
public void saca(double valor) throws SaldoInsuficiente {
if (this.saldo < valor) {
throw new SaldoInsuficiente("Saldo: "+ this.saldo + ", Valor do saque "+ valor);
}
this.saldo -= valor;
}
public void transfere(double valor, Conta destino) throws SaldoInsuficiente {
this.saca (valor);
destino.deposita(valor);
}
public double getSaldo() {
return this.saldo;
}
public int getNumero() {
return this.numero;
}
public void setNumero(int numero) {
if (numero <= 0) {
System.out.println("Nao pode valor menor igual a 0");
return;
}
this.numero = numero;
}
public int getAgencia() {
return this.agencia;
}
public void setAgencia(int agencia) {
if (agencia <= 0) {
System.out.println("Nao pode valor menor igual a 0");
return;
}
this.agencia = agencia;
}
public void setTitular(Cliente titular) {
this.titular = titular;
}
public Cliente getTitular() {
return this.titular;
}
public static int getTotal() {
return Conta.total;
}
@Override
public String toString() {
return "Numero: " + this.numero +" , "+"Agencia: " +this.agencia;
}
@Override
public boolean equals(Object ref) {
Conta outra = (Conta) ref;
if(this.agencia != outra.agencia) {
return false;
}
if(this.numero != outra.numero) {
return false;
}
return true;
}
}
```