GUI应用开发JAVA实验报告常熟理工含答案Word格式文档下载.docx
- 文档编号:18066725
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:15
- 大小:21.31KB
GUI应用开发JAVA实验报告常熟理工含答案Word格式文档下载.docx
《GUI应用开发JAVA实验报告常熟理工含答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《GUI应用开发JAVA实验报告常熟理工含答案Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
void,withdraw:
void。
2、依据上述要求,在Eclipse软件中,新建一个JavaProject→命名为BankPrj→右击该项目,选择New→Class创建类Account。
其中,Account代码如下所示:
packageBankPrj;
publicclassAccount{
publicdoublebalance;
//添加balance实例
//为Account类创建一个构造器
publicAccount(doubleinitBalance){
balance=initBalance;
}
publicdoublegetBalance(){
returnbalance;
//返回当前
publicvoiddeposit(doubleamt){
balance=balance+amt;
//返回存钱数目
publicvoidwithdraw(doubleamt){
if(balance>
=amt){
balance=balance-amt;
//返回取钱后剩余
3、创建TestAccount类,在BankPrj的目录之下,创建一个包,命名为BankPrj.test,在该类中声明一个Main方法,并且将Account初始为余额为100的对象,同时定义一个方法先存入50.再取出147,然后将余额用标准输出流进行输出。
其具体实现代码如下所示:
packageBankPrj.test;
importBankPrj.Account;
//导入Account类
publicclassTestAccount{
publicstaticvoidmain(String[]args){
Accountacct=newAccount(100.0);
//给Account对象进行余额的初始操作
acct.balance=acct.balance+50.0;
//对Account对象进行存入50的操作
acct.balance=acct.balance-147.0;
//从现在的Account对象中取出147
System.out.println("
最终余额是:
"
+acct.balance);
//标准输出流输入余额
}
调试运行TestAccount结果如下所示:
3.0
4、创建TestAccount2类,即在TestAccount的基础之上进行修改,将在Account类中定义的方法进行使用,利用方法的调用实现存取款功能的实现,其具体实现代码如下所示:
publicclassTestAccount32{
publicclassTestAccount{
//新建一个TestAccount接口
publicTestAccount(){
publicvoidmain(String[]args){
Accountacct=newAccount(100);
//对Account对象进行初始化
acct.deposit(47);
//原有的Account对象之上添加47
acct.withdraw(150);
//从现有的Account对象中取出150
账户余额最终是:
+acct.getBalance());
调试运行TestAccount2,结果如下所示:
-3.0
五、实验小结:
1、能够理解面向对象技术中的封装的概念;
2、掌握Eclipse软件的使用,以及包的编写和如何使用包中的类;
3、能够理解UML图,并且根据图中相关提示进行类的创建和方法的编写
实验二、类设计实验(银行账户的设计)
一、实验目的
⒈使用继承和方法覆盖创建子类
⒉综合使用面向对象技术,根据现实问题抽象设计模拟银行账户类
在银行项目中创建Account类的两个子类SavingsAccount和CheckingAccount,这些账户的规则如习题册P6-2所示。
设计该子类满足所给的UML类图。
a)修改Account类
b)创建SavingsAccount类
c)创建CheckingAccount类删除当前的TestBanking类
d)修改当前的TestBanking类
e)运行TestBanking程序。
1、根据实验要求和UML图示,进行SavingsAccount和CheckingAccount两个子类的创建,并且对Account类进行修改。
2、修改Account类:
依据UML图示,可以知道将Account类中的实例变量balance改为受保护的,即为protected,做同样修改的,还有Account构造器,与此同时,还需要将deposit()方法和withdraw()方法的返回类型修改为boolean,修改后,其具体代码如下所示:
packagemybank;
publicclassAccount{
protecteddoublebalance;
publicbooleandeposit(doubleamt){
returntrue;
publicbooleanwithdraw(doubleamt){
booleanresult=false;
if(amt<
=balance){
result=true;
returnresult;
3、创建SavingsAccount类,根据UML图,该类是Account类的子类,同时在该类中,应该声明一个由private所修饰的interestRate实例和一个由public所修饰的SavingsAccount构造器,其具体实现代码如下所示:
publicclassSavingsAccountextendsAccount{//SavingsAccount类继承自Account类
privatedoubleinterestRate;
//声明interrstRate实例
//创建一个SavingsAccount构造器
publicSavingsAccount(doubleinitBalance,doubleinterestRate){
super(initBalance);
this.interestRate=interestRate;
4、创建CheckingAccount类,在CheckingAccount一个类中,应当声明一个overdraftAmount实例变量,并且添加具有两个参数的公有构造器:
initBalance和overdraftAmount,同时,使得initBalance能够接收传参,而overdraftAmount能够保存实例变量,其代码如下图所示:
publicclassCheckingAccountextendsAccount{//CheckingAccount类是Account类的子类
privatedoubleoverdraftAmount;
//声明overdraftAmount实例变量
//创建构造器,具有两个参数
publicCheckingAccount(doubleinitBalance,doubleoverdraftAmount){
this.overdraftAmount=overdraftAmount;
//添加只有一个参数的公有构造器,并默认其值为0.0
publicCheckingAccount(doubleinitBalance){
this(initBalance,0.0);
//覆盖withdarw方法,使用overdraftAmount变量
publicbooleanwithdraw(doubleamount){
booleanresult=true;
if(balance<
amount){
//当没有足够的余额来响应wuthdraw方法的时候,则检查是否有足够的可透支款项
doubleoverdraftNeeded=amount-balance;
if(overdraftAmount<
overdraftNeeded){
//当没有透支款项或不足以透支款项不足以支付当前所需时
result=false;
}
else{
balance=0.0;
overdraftAmount-=overdraftNeeded;
else{
balance=balance-amount;
5、删除当前的TestBanking类,复制实验模板中的TestBanking类并且修改当前的TestBanking类,其具体实现代码如下所示:
packagemybank.test;
//导入mybank包中的所有类
importmybank.Account;
importmybank.Bank;
importmybank.CheckingAccount;
importmybank.Customer;
importmybank.SavingsAccount;
publicclassTestBanking{
Bankbank=newBank();
Customercustomer;
Accountaccount;
//建立银行客户和他们名下的账户信息
System.out.println("
创建客户JaneSmith."
);
bank.addCustomer("
Jane"
"
Simms"
customer=bank.getCustomer(0);
他名下创建的账户有余额500.00并且3%的利润."
customer.setAccount(newSavingsAccount(500.00,0.03));
创建客户OwenBryant."
Owen"
Bryant"
customer=bank.getCustomer
(1);
他名下创建的账户有余额500.00并且没有可透支款项."
customer.setAccount(newCheckingAccount(500.00));
创建客户TimSoley."
Tim"
Soley"
customer=bank.getCustomer
(2);
他名下创建的账户有余额500.00并且有500余额的可透支账户."
customer.setAccount(newCheckingAccount(500.00,500.00));
创建客户MariaSoley."
Maria"
customer=bank.getCustomer(3);
Maria和她的丈夫共有着这份账户."
customer.setAccount(bank.getCustomer
(2).getAccount());
System.out.println();
//说明各种账户所发生动作的类型并为SavingsAccount设定测试标准
System.out.println("
已经将JaneSmith和其名下账户信息进行保存."
account=customer.getAccount();
//Performsomeaccounttransactions
Withdraw150.00:
+account.withdraw(150.00));
Deposit22.50:
+account.deposit(22.50));
Withdraw47.62:
+account.withdraw(47.62));
Withdraw400.00:
+account.withdraw(400.00));
//Printoutthefinalaccountbalance
客户["
+customer.getLastName()
+"
+customer.getFirstName()
]仍有余额"
+account.getBalance());
System.out.println();
//测试CheckingAccount中的透支款项
已经将客户OwenBryant和他的账户进行更新,没有透支款项."
]仍有余额"
检查并更新过客户TimSoley和他的账户信息,其中存在透支款项."
客户["
检查并更新客户MariaSoley和他丈夫共同持有的账户."
Deposit150.00:
+account.deposit(150.00));
Withdraw750.00:
+account.withdraw(750.00));
}
6、运行TestBanking程序
其调试运行结果如下所示:
1、能够使用继承和方法覆盖创建子类,如SavingsAccount类和CheckingAccount类均继承自Account类
2、学会使用综合使用面向对象技术,根据现实问题抽象设计模拟银行账户类,如透支款项,存取账户,共有财产等
实验三、使用接口和抽象类设计实验
练习使用抽象类和接口,并探究这些类组件的多态属性。
创建一个来源于抽象类Animal的动物层次。
几个动物类将实现一个叫做Pet的接口。
层次结构见习题册P7-12图7-2。
具体步骤如下:
(1)按照7-13页的要求创建Pet接口
(2)按要求创建Animal类
(3)创建TestAnimals类
(4)编译TestAnimals类
(5)运行TestAnimals程序
1、打开Eclipse→新建Project→Excerise2
2、依据书本上的UML类图,得知接口Pet将实现Cat和Fish类中的方法,并且在该接口中应当声明三个由Public修饰的方法:
getName,setName和Play,据此,得出接口Pet的代码如下所示:
packageExecrise2;
publicinterfacePet{
publicvoidsetName(Stringname);
publicStringgetName();
publicvoidplay();
3、创建Animal类,要求声明并初始化一个受保护的实例变量“legs”,来记录动物腿的数目,同时应当抽象声明方法“eat”和具体方法“walk”,依据上述要求,实现代码如下图所示:
publicabstractclassAnimal{
protectedintlegs;
protectedAnimal(intlegs){
this.legs=legs;
publicabstractvoideat();
//抽象方法eat
publicvoidwalk(){//具体方法walk
这个动物用"
+legs+"
腿走路."
}}
4、创建Spider类,要求Spider类继承自Animal类,并且声明一个构造器和定以一个方法eat,其代码如下图所示:
publicclassSpiderextendsAnimal{
publicSpider(){
super(8);
//蜘蛛有八只腿
publicvoideat(){//蜘蛛具体吃什么
蜘蛛结网捕食飞行的昆虫."
5、创建Cat类,要求能够包含一个实例变量来存储宠物的名字,同样的,需要声明一个构造器来指明猫有多少条腿,并实现Pet接口的方法,具体代码如下:
publicclassCatexten
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GUI 应用 开发 JAVA 实验 报告 常熟 理工 答案