Pessoal estou montando uma atividade e fiz o sistema de contas só que usando herença.
Na minha classe super estar da seguinte forma:
package projetofinal.modelo;
/**
* Conta
*/
public abstract class Conta {
private int numeroConta;
private double saldoConta;
public Conta(int numeroConta) {
this.numeroConta = numeroConta;
this.saldoConta = 0;
}
public int getNumeroConta() {
return numeroConta;
}
public double getSaldoConta() {
return saldoConta;
}
public boolean depositar(double valor) {
if (valor > 0) {
saldoConta += valor; // saldo = saldo + valor;
return true;
}
return false;
}
public boolean sacar(double valor) {
if (valor > 0) {
saldoConta -= valor;
return true;
}
return false;
}
public boolean tranferir(Conta contaDestino, double valor) {
if (this.getSaldoConta() >= valor) {
this.sacar(valor);
contaDestino.depositar(valor);
return false;
}
return true;
}
@Override
public String toString() {
return numeroConta + " saldo: R$ " + saldoConta;
}
}
Eu tenho uma classe de gerenciamento dos metodos que vou usar no main:
package projetofinal.servico;
import java.util.ArrayList;
import projetofinal.modelo.Conta;
import projetofinal.modelo.ContaCorrente;
import projetofinal.modelo.ContaPoupança;
public class ServicoApp {
private ArrayList<Conta> listaContas;
public ServicoApp() {
listaContas = new ArrayList<>();
}
public void menuEntrada() {
System.out.println("1- Criar Conta Corrente");
System.out.println("2- Criar Conta Poupança");
System.out.println("3- Depositar");
System.out.println("4- Sacar");
System.out.println("5- Extrato/Saldo");
System.out.println("6- Transferência");
System.out.println("7- Encerrar Programa");
}
public String contaSaldo(int numeroConta) {
for (Conta contas : listaContas) {
if (contas.getNumeroConta() == numeroConta) {
return contas.toString();
}
}
return "Conta não encontrada";
}
public void novaContaCorrente(int numeroConta) {
listaContas.add(new ContaCorrente(numeroConta));
}
public void novaContaPoupanca(int numeroConta) {
listaContas.add(new ContaPoupança(numeroConta));
}
public boolean depositarConta(int numeroConta, double valorDeposito) {
for (Conta conta : listaContas) {
if (conta.getNumeroConta() == numeroConta) {
return conta.depositar(valorDeposito);
}
}
return false;
}
public boolean sacarConta(int numeroConta, double valorSaque) {
for (Conta conta : listaContas) {
if (conta.getNumeroConta() == numeroConta) {
return conta.sacar(valorSaque);
}
}
return false;
}
public void transfereConta(int contaOrigem, int contaDestino, double valor) {
for (Conta conta : listaContas) {
}
}
}
O problema começa aqui , eu não estou entendo e conseguindo fazer o metodo de transferencia pra usar no meu main.Não estou conseguindo entender a parte o metodo que estar no super ,vou usar ele pra receber o numero da conta e fazer a transferencia, mais tudo no metodo da classe de gerenciamento.
Socorro