在Main()中设置Constructor Teller以在方法中调用特定帐户

时间:2013-11-25 01:59:44

标签: java

在这段代码中,我正在制作各种银行账户。它有一个基本的BankAccount,它有变量Name和id。它有一个有利息的储蓄账户和一个有信用额度的支票账户。这两个类都扩展到BankAccountInfo类。

在Teller类中,我有一个构造函数Teller,其名称和日期处理在Main()中设置。我有一个名为setUpAccts()的方法,其中包括我到目前为止创建的帐户,检查,储蓄和两个基本的银行帐户。

在Main()中,我希望能够让多个出纳员调用特定帐户。

例如,我希望Teller John只调用acct1,这将是支票帐户。然后我想要另一位出纳员凯特,只打电话给acct2,储蓄账户及其内容。

目前我只有一个Teller调用setUpAccts()方法中的每个帐户。

这是Teller代码。

编辑:很抱歉有一个可怕的描述,我希望新的一个让我的问题更清楚。

class Teller
{
    String name;
    String dateProcessed;
    int random;

    public Teller(String n, String dP)
    {
        name = n;
        dateProcessed = dP;

        System.out.println("Teller:" + " " + name + " " + "This transaction will process:" + " " + dateProcessed);
    }

public void setUpAccts()
    {
        CheckingAccount acct1 = new CheckingAccount("Dylan Kuchar", 11, "Checking");
        //acct1.setCheckingAccount("Dylan", "11", "Checking", acct1.getOverdraft());
        acct1.printCheckingAccount();
        acct1.setBalance(250);
        //acct1.printBalance();
        acct1.withdraw(120.5);
        //acct1.printBalance();

        SavingsAccount acct2 = new SavingsAccount("Emily Doe", 2, "Savings");
        acct2.printSavingsAccount();
        acct2.setBalance(225.5);
        acct2.InterestBalance();
        acct2.withdraw(500);

        BankAccountInfo acct3 = new BankAccountInfo();
        acct3.BankAccountInfo("Dylan", 11);
        acct3.printBankAccountInfo();
        acct3.setBalance(150);
        acct3.deposit(20);
        acct3.printBalance();

        BankAccountInfo acct4 = new BankAccountInfo();
        acct4.BankAccountInfo("Emily", 2);
        acct4.printBankAccountInfo();
        acct4.setBalance(650);
        acct4.withdraw(150);
        acct4.printBalance();
    }



    public static void main(String args[])
    {
        Teller t = new Teller("John", "Today");
        t.setUpAccts();

    }
}

1 个答案:

答案 0 :(得分:0)

嗯,简单的方法就是在初始化时简单地将出纳员作为特定类型。所以你的代码将改为:

class Teller
{
String name;
String dateProcessed;
Boolean Savings; 
int random;

public Teller(String n, String dP, Boolean Savings)
{
    name = n;
    dateProcessed = dP;
    this.Savings = Savings;

    System.out.println("Teller:" + " " + name + " " + "This transaction will process:"     + " " + dateProcessed);
}

然后你只需将setUpAccts类更改为仅处理一个Person。然后放置一个if else来查看出纳员是在处理储蓄还是检查。不是最好的,而是它的想法。

编辑:

您可以做的是创建一个名为Account的类,CheckingAccount和Savings Account将继承此类。然后你可以这样做:

class Teller
{
Account acct;
String name;
String dateProcessed;
int random;

public Teller(Account act, String dP)
{
    acct=act;
    name = acct.getname();
    dateProcessed = dP;

    System.out.println("Teller:" + " " + name + " " + "This transaction will process:"     + " " + dateProcessed);
}


public void acctStuff()
{
    if(acct instenceof checkingAccount)
     { //do checking stuff}
    else { //do savings stuff}
}

让我知道如果我错过了什么或者某些事情没有意义