Java黑皮书课后题第11章:11.3(Account类的子类)在编程练习题9.7中定义了一个Account类来对一个银行账户建模。一个账户有账号、余额、年利率、开户日期等属性,以及存款和取款等方法
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第11章:11.3(Account类的子类)在编程练习题9.7中定义了一个Account类来对一个银行账户建模。一个账户有账号、余额、年利率、开户日期等属性,以及存款和取款等方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
續(xù)標(biāo)題:創(chuàng)建支票賬戶checking account和儲(chǔ)蓄賬戶saving account兩個(gè)子類。支票賬戶有一個(gè)透支限定額,但儲(chǔ)蓄賬戶不能透支
- 題目(續(xù))
- 題目中提到的編程練習(xí)題9.7:以下代碼直接利用即可
- Test03_checking_account:支票賬戶
- Test03_saving_account
- Test03:測(cè)試程序(創(chuàng)建三個(gè)對(duì)象并調(diào)用toString方法)
- 總UML圖
題目(續(xù))
畫(huà)出這些類的UML圖并實(shí)現(xiàn)這些類。編寫(xiě)一個(gè)測(cè)試程序,創(chuàng)建Account、SavingsAccount和CheckingAccount的對(duì)象,然后調(diào)用它們的toString()方法
題目中提到的編程練習(xí)題9.7:以下代碼直接利用即可
省流助手:四個(gè)私有數(shù)據(jù)域 + 無(wú)參有參構(gòu)造方法 + id balance annualInterestRate三個(gè)數(shù)據(jù)域的setter和getter方法 + dateCreated的訪問(wèn)器方法 + getMonthlyInterestRate方法 + getMonthlyInterest方法 + withDraw方法 + deposit方法
import java.util.Date;public class Test2_Account {// 四個(gè)私有數(shù)據(jù)域private int id = 0;private double balance = 0.0;private double annualInterestRate = 0.0;private Date dateCreated;// 無(wú)參構(gòu)造方法public Test2_Account(){}// 有參構(gòu)造方法public Test2_Account(int id, double balance){this.id = id;this.balance = balance;}// id balance annualInterestRate的setter和getterpublic int getId() {return id;}public void setId(int id) {this.id = id;}public double getBalance() {return balance;}public void setBalance(double balance) {this.balance = balance;}public double getAnnualInterestRate() {return annualInterestRate;}public void setAnnualInterestRate(double annualInterestRate) {this.annualInterestRate = annualInterestRate;}// dateCreated的訪問(wèn)器方法public Date getDateCreated(){return dateCreated;}// getMonthlyInterestRate方法public double getMonthlyInterestRate(){return annualInterestRate / 1200;}// getMonthlyInterest方法public double getMonthlyInterest(){return annualInterestRate * balance / 1200;}// withDraw方法public void withDraw(double num){if (num <= balance) balance -= num;}// deposit方法public void deposit(double num){balance += num;}@Overridepublic String toString() {return "Test03_Account{" +"id=" + id +", balance=" + balance +", annualInterestRate=" + annualInterestRate +", dateCreated=" + dateCreated +'}';} }本類UML圖:
Test03_checking_account:支票賬戶
public class Test03_checking_account extends Test03_Account{public double overDraftLimit = 0;public Test03_checking_account(){}public Test03_checking_account(double overDraftLimit){this.overDraftLimit = overDraftLimit;}@Overridepublic String toString() {return "Test03_checking_account{" +"overDraftLimit=" + overDraftLimit +"} " + super.toString();} }Test03_saving_account
public class Test03_saving_account extends Test03_Account{private double minBalance = 0.0; }Test03:測(cè)試程序(創(chuàng)建三個(gè)對(duì)象并調(diào)用toString方法)
public class Test03 {public static void main(String[] args) {// 創(chuàng)建AccountTest03_Account ta = new Test03_Account();ta.toString();// 創(chuàng)建Savings-AccountTest03_saving_account sa = new Test03_saving_account();sa.toString();// 創(chuàng)建CheckingAccountTest03_checking_account ca = new Test03_checking_account();ca.toString();} }總UML圖
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Java黑皮书课后题第11章:11.3(Account类的子类)在编程练习题9.7中定义了一个Account类来对一个银行账户建模。一个账户有账号、余额、年利率、开户日期等属性,以及存款和取款等方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java黑皮书课后题第11章:11.2(
- 下一篇: java 多线程同步_浅谈Java多线程