/**
*賬戶類別。
*
* @作者CodingMouse
* @版本1.0
*/
公共抽象類Account { protected String Account number;//賬號
受保護的雙倍超額;//平衡
受保護的雙年度利率;//年利率
/**
*參數化構造函數方法。
*
*用於開戶。
* @param accountNumber預設賬號
* @ paramoverride初始余額
* @param annualInterestRate默認年利率
*/
公共帳戶(String accountNumber,double overage,double annualInterestRate) {
super();
//設置賬號。
this.accountNumber =帳戶號碼;
//設置初始余額,至少為零。
this.overage = overage & gt= 0 ?超齡:0;
//設置年利率,至少為零。
this . annualInterestRate = annualInterestRate & gt;= 0 ?annualInterestRate:0;
}
/**
*檢查賬號。
* @return返回賬號。
*/
公共字符串getAccountNumber() {
返回this.accountNumber
}
/**
*設置帳戶。
* @param accountNumber新帳戶。
*/
public void set account number(String account number){
this.accountNumber =帳戶號碼;
} /**
*查詢余額方法。
* @return返回賬戶余額。
*/
public double getOverage() {
退回剩余部分;
} /**
*存款方式。
* @param要存入的金額。
當* @return返回true時,存款成功,否則存款失敗。
*/
公共布爾存款貨幣(double money) {
//如果金額小於零,則不能存款。
如果(錢& lt= 0)
返回false
//否則,相應的金額將累積到帳戶余額中。
this.overage +=錢;
返回true
}
/**
*提款方式。
*
*默認不能透支。
* @param money要提取的金額。
* @return返回true表示成功,否則失敗。
*/
公共布爾型drawMoney(double money) {
//如果賬戶余額不足,就不能取錢。
if(this . overage & lt;錢)
返回false
//否則,從賬戶余額中扣除相應金額。
過剩=錢;
返回true
} /**
*查詢年利率。
* @return返回年利率。
*/
public double getAnnualInterestRate(){
返回this . annual interest rate;
} /**
*設置年利率。
* @ paramannualinterest新年利率。
*/
public void setAnnualInterestRate(double annualInterestRate){
this . annualInterestRate = annualInterestRate;
}
}
-
/**
*借記卡賬戶。
*
*不能透支。
* @作者CodingMouse
* @版本1.0
*/
public class DebitCardAccount擴展帳戶{ /**
*覆蓋父類構造函數。
* @param accountNumber預設賬號
* @ paramoverride初始余額
* @param annualInterestRate默認年利率
*/
public DebitCardAccount(字符串accountNumber,雙超額,
雙年度利率){
super(accountNumber,overage,annual interstrate);
}}
-
/**
*信用卡賬戶。
*
*可以透支。
* @作者CodingMouse
* @版本1.0
*/
公共類信用卡賬戶擴展賬戶{私人雙倍透支限額;//透支額度
/**
*重載的構造函數。
*
*輕松建立壹個透支信用卡賬戶的例子。
* @param accountNumber預設賬號
* @ paramoverride初始余額
* @param annualInterestRate默認年利率
* @param透支限額透支限額
*/
public CreditCardAccount(字符串accountNumber,雙超額,
雙倍年利率,雙倍透支限額){
super(accountNumber,overage,annual interstrate);
this.overdraftLimit =透支限額;
} /**
*查詢透支額度。
* @返回透支額度。
*/
public double getOverdraftLimit(){
返回this.overdraftLimit
} /**
*設置透支額度的方法。
* @param overdraftLimit新透支額度。
*/
公共void setOverdraftLimit(雙倍透支限額){
//透支額度必須為零且為正數,否則為零。
this . overdraft limit = overdraft limit & gt;= 0 ?透支限額:0;
} /**
*覆蓋父類構造函數。
* @param accountNumber預設賬號
* @ paramoverride初始余額
* @param annualInterestRate默認年利率
*/
public CreditCardAccount(字符串accountNumber,雙超額,
雙年度利率){
super(accountNumber,overage,annual interstrate);
} /**
*重寫母公司提款方法。
*
*將默認不能透支的支取改為可以透支的支取。
* @param money要提取的金額。
* @return返回true表示成功,否則失敗。
*/
@覆蓋
公共布爾型drawMoney(double money) {
//如果賬戶余額+透支額度總額仍不足,則不能取錢。
if(this . overage+this . overdraft limit & lt;錢)
返回false
//否則,從賬戶余額中扣除相應金額。
過剩=錢;
返回true
}}
-
/**
*測試帳戶使用情況。
*
* @作者CodingMouse
* @版本1.0
*/
公共類測試{ /**
*主程序方法。
* @param args條目參數。
*/
公共靜態void main(String[] args) {
//創建壹個不能透支的借記卡賬戶。
系統。out.println (" -借記卡賬戶");
debit card account debit card account = new debit card account(" chk 2010017001 ",100,0.02);
//初始余額為100元。調用並打印取90元和取120元的結果。
System.out.println("取90元的結果:"+debitcardcount . draw money(90));
//重新存入90元
debit card account . deposit money(90);
System.out.println("取120元的結果:"+DebitcardAccount。提款(120));
//創建壹個可以透支的信用卡賬戶。
系統。out.println (" -信用卡賬戶");
CreditCardAccount crebitCardAccount = new CreditCardAccount(" chk 20100117002 ",100,0.03,50);
//初始余額100元,透支額度50元。調用並打印取90元,120元,160元的結果。
System.out.println("取90元的結果:"+credit card account . draw money(90));
//重新存入90元
crebitcardaccount . depositmoney(90);
System.out.println("取120元的結果:"+creditcardaccount。提款(120));
//重新存款120元。
crebitcardaccount . depositmoney(120);
System.out.println("取160元的結果:"+creditcardaccount。提款(160));
}
}
-
取90元的結果:真。
取120元的結果:假
-信用卡賬戶。
取90元的結果:真。
取120元的結果:真。
拿160元的結果:假——如果妳懶得復制,想要程序源代碼文件或者有不懂的地方,可以發郵件到我QQ郵箱,我會回復妳。