欢迎来到天天文库
浏览记录
ID:55631062
大小:59.00 KB
页数:10页
时间:2020-05-21
《c#银行系统编程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3、在2的基础上,实现下面的类图:Step1:创建Account类,作为各种账户的基类。然后用继承来创建两个专用的账户类:SavingAccount(储蓄账户)类和CheckingAccount(支票账户)类。(1)SavingAccount类,从Account派生其新特征:A.储蓄账户能获得利息,增加一个属性interestRate表示利率。B.着时间的推移,储蓄账户可以获得利息,所以为SavingAccount类增加一个addInterest()方法(注:未在UML图中画出),用于把利息增加到原balance上。利息的计算规则为interestRate*balance;(2)Ch
2、eckingAccount类,从Account派生新特征:A.帐户允许有透支额度,增加属性overdraftProtection表示最大透支额度。B.取款规则发生了改变:如果当前余额足够支付要提取的金额amount,按照常规进行处理。如果当前余额不够,但帐户有透支额度,那么所差的部分作为透支处理。透支处理规则:比较amount(当前提款金额)和balance(当前帐户余额)若当前透支额amount-balance>overdraftProtection,那么整个交易应该放弃,提款失败。否则提款后的balance应为0,提款后的最大透支额度overdraftProtection应该为原
3、有最大透支额度减去(amount-balance)。(3)再看Account类其withdraw行为要在其具体的子类中才能确定,故将其withdraw方法设计成一个抽象方法,由子类去改写。因此Account类也应重新设计成一个抽象类。Step2:具体实现参考:1、和上一题相比,Account类中的balance属性的访问控制修饰符变成了protected。其withdraw方法变成一个抽象方法,因此Account类是一个抽象类。2、SavingsAccount类设计1)定义一个double型的数据属性interestRate(利率)。2)定义一个带有两个参数balance和inter
4、est_rate的构造方法。这个构造方法通过super(balance)调用父类的构造方法完成对balance属性的初始化。3)增加一个addInterest()方法,将所获利息加到balance上。4)实现父类中的withdraw抽象方法。3、CheckingAccount类1)定义一个double型的属性(最大透支额度)。2)定义一个带有一个balance参数的构造方法。这个构造方法通过super(balance)调用父类的构造方法。3)定义另外一个带有两个参数的构造方法。这个构造方法通过super(balance)调用父类的构造方法,并且对属性overdraftProtecti
5、on进行设置。4)对成员方法withdraw进行改写,改写规则见Step1。Step3:仿照银行和客户之间的关系修改Customer类,使一个客户可以有多个帐号。Step4:编写测试程序,首先添加四个客户到银行,并分别为其添加帐号。打印报表。并对第一个客户的各个帐户进行操作以验证SavingsAccount和CheckingAccount类中withdraw方法的正确性。测试程序最终输出的结果如下:CustomerReports================================Customer:JaneSmithSavingsAccount:Currentbalance
6、is500.0Interestrate=0.03CheckingAccount:Currentbalanceis500.0OverdraftProtection=0.0CheckingAccount:Currentbalanceis500.0OverdraftProtection=500.0Customer:OwenBryantCheckingAccount:Currentbalanceis200.0OverdraftProtection=0.0Customer:TimSoleySavingsAccount:Currentbalanceis1500.0Interestrate=0.0
7、3CheckingAccount:Currentbalanceis200.0OverdraftProtection=0.0Customer:MariaSoleyCheckingAccount:Currentbalanceis200.0OverdraftProtection=0.0SavingsAccount:Currentbalanceis150.0Interestrate=0.03TestingaccountofcustomerNo.1...Withdr
此文档下载收益归作者所有