0

さて、私は多くの問題を抱えています、私はまだJavaを学んでいます、そして私の本は私がネット上で一般的であると思う仕事を私に設定しました、私が立ち往生している部分は...

銀行口座プログラムを作成する必要があります。口座名義人には、普通預金口座(金利があり、当座貸越機能がない)と、小切手口座(100ポンドの当座貸越機能があり、利息がない)が与えられます。

私はまだ当座貸越を実施しておらず、引き出しと預金の機能を準備するための途中ですが、私の質問は興味を持っています。私はスーパークラスで普通預金口座の残高と当座預金口座の残高を定義したので、普通預金口座クラス私はそれをプライベートにしたので、私は普通預金残高を参照することができません。set.nameメソッドを使用しようとしていますが、明らかに間違っています。

大きな笑顔とアドバイスをしてくれる人に感謝します!

スーパークラスは次のとおりです。

public class BankDetails
    {
        private String customer;
        private String accountno;
        private double savebalance;
        private double checkbalance;


//Constructor Methods

 public BankDetails(String customerIn, String accountnoIn, double savebalanceIn, double checkbalanceIn)
        {
            customer = customerIn;
            accountno = accountnoIn;
            savebalance = savebalanceIn;
            checkbalance = checkbalanceIn;
        }

      // Get  name
      public String getcustomername()
        {
            return (customer);
        }

      // Get account number
      public String getaccountnumber()
        {
            return (accountno);
        }

       public double getcheckbalanceamount()
        {
            return (checkbalance);
        }

       public double getsavebalanceamount()
        {
            return (savebalance);
        }


public void savewithdraw(double savewithdrawAmountIn)

  {
        savebalance = savebalance - savewithdrawAmountIn;

  }

public void checkwithdraw(double checkwithdrawAmountIn)

  {
        checkbalance = checkbalance - checkwithdrawAmountIn;

  }


 public void savedeposit(double savedepositAmountIn)

  {
        savebalance = savebalance - savedepositAmountIn;

  }

public void checkdeposit(double checkdepositAmountIn)

  {
        checkbalance = checkbalance - checkdepositAmountIn;

  }




    } // End Class BankDetails

サブクラスは次のとおりです。

    import java.util.*; 

public class Savings extends BankDetails
  {

      private String saveaccount;
      private double interest;


      public Savings(String customerIn, String accountnoIn, float interestIn, 
      String saveaccountIn, double savebalanceIn)
        {


            super (customerIn, accountnoIn, savebalanceIn, interestIn);


            saveaccount = saveaccountIn;
            interest = interestIn;

        }


      public String getsaveaccountno()
       {
           return (saveaccount);
       }

      public double getinterestamount()
       {
           return (interest);
       }


      public void interestamount(String[] args)

       {
           BankDetails.getsavebalanceamount(savebalance);
           interest = (savebalance / 100) * 1.75;


       }


       }
4

2 に答える 2

3

スーパークラスのgetSaveBalance()メソッドを使用して、残高にアクセスします(普通預金口座クラスがあるため、疑わしい名前が付けられていますが、残高は他の場所に保持されます)。

(現在getsavebalanceamount()は、Javaの規則に従って名前を変更することを想定しています。)


ゲッターとセッターに名前を付けるときは、一貫したCamelCaseを使用することをお勧めします(例:、getInterestAmount()などgetSaveAccountNo())。

単純なゲッター/セッターにコメントすることはお勧めしませんが、コメントする場合は、Javadocの規則を使用してください。

/** Returns current savings account balance. */
public double getSaveBalance() { ... etc ... }

また、現在ゲッターにあるように、不要な括弧を避けることをお勧めします。例:

public double getSaveBalance() {
    return saveBalance; // No parens required.
}
于 2012-01-14T19:19:56.897 に答える
2

私はあなたがこのようなことをすることをお勧めします、

interface Account{
  int getAccountNumber();
  float getBalance();
}

public class SavingAccount implements Account, Interest{
  int accountNumber;
  public int getAccountNumber(){
    return accountNumber;
  }
  float balance;
  public float getBalance(){
    return balance;
  }
  float savingInterestRate;
  public float getInterestRate(){
     return savingInterestRate;
  }
}

public class CheckingAccount implements Account, OverDraft{
  int accountNumber;
  public int getAccountNumber(){
  return accountNumber;
  }
  float balance;
  public float getBalance(){
    return balance;
  }
}

interface Interest{
  float getInterestRate();
}

interface OverDraft{
....
}
于 2012-01-14T19:38:18.547 に答える