Java-Programm zu zeigen abstrakte Klasse BankAccount und SavingsAccount Unterklasse

Diese Woche wurde ich beauftragt, mit dem schreiben eine abstrakte Klasse BankAccount und SavingsAccount die Klasse, die erweitert die Bankverbindung. Ich habe geschrieben, den code der Zuweisung fragt und es scheint perfekt zu kompilieren. Ich muss jetzt einen Treiber schreiben, um zu testen die zwei-Klassen und hier ist, wo ich bin stecken.. Nur um klar sein, ich verlange nicht, jemand zu schreiben für mich, ich möchte irgendwann in der Lage sein, dies zu tun alle auf meiner eigenen. Ich Frage nur für eine kleine Führung. (Ich habe geplant ein auf einem Zeit mit meinem Lehrer und er hat abgesagt, zweimal)

Ich im Grunde wundere mich, wie man die Treiber-Klasse für diese zwei Klassen.
Sind meine Klassen etwas fehlt in Bezug auf Felder oder Methoden? Wie wollen Sie erfahrene Programmierer, die planen, diese Art von Sachen?

Anregungen wäre dankbar!

public abstract class BankAccount
{
  double balance;
  int numOfDeposits;
  int numOfWithdraws;
  double interestRate;
  double annualInterest;
  double monSCharges;
  double amount;
  double monInterest;

  //constructor accepts arguments for balance and annual interest rate
  public BankAccount(double bal, double intrRate)
  {
    balance = bal;
    annualInterest = intrRate;
  }

  //sets amount
   public void setAmount(double myAmount)
    {
        amount = myAmount;
    }

  //method to add to balance and increment number of deposits
  public void deposit(double amountIn)
  {
    balance = balance + amountIn;
    numOfDeposits++;
  }

  //method to negate from balance and increment number of withdrawals
  public void withdraw(double amount)
  {
    balance = balance - amount;
    numOfWithdraws++;
  }

  //updates balance by calculating monthly interest earned
  public double calcInterest()
  {
    double monRate;

    monRate= interestRate / 12;
    monInterest = balance * monRate;
    balance = balance + monInterest;
    return balance;
  }

  //subtracts services charges calls calcInterest method sets number of withdrawals and deposits
  //and service charges to 0
  public void monthlyProcess()
  {
    calcInterest();
    numOfWithdraws = 0;
    numOfDeposits = 0;
    monSCharges = 0;
  }

  //returns balance
  public double getBalance()
  {
    return balance;
  }

  //returns deposits
  public double getDeposits()
  {
    return numOfDeposits;
  }

  //returns withdrawals
  public double getWithdraws()
  {
    return numOfWithdraws;
  }
}

und die Unterklasse

public class SavingsAccount extends BankAccount
{
  //sends balance and interest rate to BankAccount constructor
  public SavingsAccount(double b, double i)
  {
    super(b, i);
  }

  //determines if account is active or inactive based on a min acount balance of $25
  public boolean isActive()
  {
    if (balance >= 25)
      return true;
    return false;
  }

  //checks if account is active, if it is it uses the superclass version of the method
  public void withdraw()
  {
    if(isActive() == true)
    {
      super.withdraw(amount);
    }
  }

  //checks if account is active, if it is it uses the superclass version of deposit method
  public void deposit()
  {
    if(isActive() == true)
    {
      super.deposit(amount);
    }
  }

  //checks number of withdrawals adds service charge
  public void monthlyProcess()
  {
    if(numOfWithdraws > 4)
      monSCharges++;
  }
}
  • Was ist das Problem ?? Wolltest du uns um den code zu überprüfen
  • Sie wollen also wissen, wie zu schreiben unit-test für dieses Recht?
  • Fügen Sie die @Override-annotation an die Methoden, die angeblich zu überschreiben Methoden der Oberklasse. Dies wird Ihnen helfen zu Punkt zwei Fehler der Klasse. Und Sie sollten niemals still nichts tun, wie du tust: wenn der account nicht aktiv ist und jemand versucht, einzuzahlen oder abzuheben, wird eine Ausnahme geworfen werden sollte.
  • Bitte posten Sie Ihre Driver. Ich vermute, dass es zu instanziieren versucht, die abstrakte Klasse.
  • Ja, ich im Grunde wollen wissen, wie man die Treiber für diese Klassen. Ich weiß nur nicht, wo man anfangen soll.
InformationsquelleAutor codenewb | 2014-03-04
Schreibe einen Kommentar