Baixe o app para aproveitar ainda mais
Prévia do material em texto
AppContas.java import java.util.Scanner; public class AppContas { public static void main(String[] args) { Scanner teclado = new Scanner(System.in); int opcao; int numeroConta; double limite; ContaCorrente conta_corrente; ContaEspecial conta_especial; ContaPoupanca conta_poupanca; do { System.out.println("1- nova conta corrente"); System.out.println("2- nova conta especial"); System.out.println("3- nova conta poupança"); System.out.println("4- deposito"); System.out.println("5- saque"); System.out.println("6- consultar saldo"); System.out.println("7- sair"); System.out.print("Opção ==> "); opcao = teclado.nextInt(); switch (opcao) { case 1: System.out.println("Informe o número da conta: "); numeroConta = teclado.nextInt(); conta_corrente = new ContaCorrente(numeroConta); break; // interrompe a execução do case case 2: System.out.println("Informe o número da conta: "); numeroConta = teclado.nextInt(); System.out.println("Informe o lmite da conta: "); limite = teclado.nextDouble(); conta_especial = new ContaEspecial(numeroConta, limite); break; case 3: System.out.println("Informe o número da conta: "); numeroConta = teclado.nextInt(); conta_poupanca = new ContaPoupanca(numeroConta); break; case 4: break; case 5: break; case 6: break; case 7: break; default: System.out.println("Opção inválida!"); break; } } while (opcao != 7); teclado.close(); } } Conta.java public abstract class Conta { private int numero; private double saldo; public Conta(int numero) { this.numero = numero; this.saldo = 0; } public double getSaldo() { return saldo; } @Override public String toString() { return numero + " saldo: " + saldo; } public boolean deposito(double valor) { if (valor > 0) { saldo += valor; return true; } return false; } public boolean saque(double valor) { if (valor > 0) { saldo -= valor; return true; } return false; } } ContaCorrente.java public class ContaCorrente extends Conta { final double TAXA_DEPOSITO = 0.1; public ContaCorrente(int numero) { super(numero); } @Override public boolean saque(double valor) { if(getSaldo() >= valor) { return super.saque(valor); } return false; // não tem saldo suficiente } @Override public boolean deposito(double valor) { return super.deposito(valor - TAXA_DEPOSITO); } } ContaEspecial.java package atividade_aps; public class ContaEspecial extends Conta { private double limite; public ContaEspecial(int numero, double limite) { super(numero); this.limite = limite; } @Override public boolean saque(double valor) { if(getSaldo() + limite >= valor) { return super.saque(valor); } return false; } @Override public String toString() { return super.toString() + " limite: " + limite; } } ContaPoupanca.java package atividade_aps; public class ContaPoupanca extends Conta { private static double taxa = 0.1; // atributo de classe public ContaPoupanca(int numero) { super(numero); } public static void setTaxa(double novaTaxa) { if(novaTaxa > 0) { taxa = novaTaxa; } } @Override public boolean saque(double valor) { if(valor + taxa <= getSaldo()) { return super.saque(valor + taxa); } return false; } @Override public String toString() { return super.toString() + " taxa: " + taxa; } }
Compartilhar