子类与继承.doc_第1页
子类与继承.doc_第2页
子类与继承.doc_第3页
子类与继承.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原师范学院实 验 报 告报 告 内 容一、 实验目的 四、实验方法二、 实验原理 五、实验记录及数据处理三、 实验仪器及材料 六、误差分析及讨论Experimentation Report of Taiyuan teachers College系 部 计算机系 班 级 XXX 班 课 程 Java语言程序设计 姓 名 XXXX 学 号 XXXXX 日 期 XXXXXXXXXXxx 项 目 子类与继承银行计算利息 1.相关知识点子类一旦隐藏了继承的成员变量,那么子类创建的对象就不再拥有该变量,该变量将归关键字super所拥有,同样子类一旦重写了继承的方法,就覆盖了继承的方法,那么子类创建的对象就不能调用被覆盖的方法,该方法的调用由关键字super负责。因此,如果在子类中想使用被子类隐藏的成员变量或覆盖的方法,就需要使用关键字super。比如super.x、super.play()就是访问和调用被子类隐藏的成员变量x和方法play()。2.实验目的本实验的目的是让学生重写的目的以及怎样使用super关键字。3.实验要求假设银行Bank已经有了按整年year计算利息的一般方法,其中year只能取正整数。比如按整年计算的方法:double computerInterest() Interest=year*0.35*savedMoney; return interest;建设银行ConstructionBank是Bank的子类,准备隐藏继承的成员变量year,并重写计算信息的方法,即自己声明一个double型的year变量,比如,当year取值是5.216时,表示要计算5年零216天的利息,但希望首先按银行Bank的方法computerInterest()计算出5整年的利息,然后再自己计算216天的利息。那么,建设银行就必须把的整数部分赋值给隐藏的year,并让super调用隐藏的、按整年计算利息的方法。要求ConstructionBank和BankOfDalian类是Bank类的子类,ConstructionBank和BankOfDalian都使用super调用隐藏的成员变量和方法。ConstructionBank、 BankOfDalian和Bank类的UML图如下:BanksavedMoney:intyear:intinterest:doublecomputerInterest():doubleConstructionBankBankDalianyear:doubleyear:doublecomputerInterest():doublecomputerInterest():double4.实验程序源代码 Bank.java Public class Bank int savedMoney;int year;double interest;double interestRate=0.29;public double computerInterest() interest=year*interestRate*saveMoney; return interest;public void setInterestRate(double rate) interestRate=rate;ConstructBank.java public class ConstructionBank extends Bankdouble year;public double computerInterest() super.year=(int)year; double r=year-(int)year; int day=(int)(r*1000); double yearInterest=puterInterest(); double dayInterest=day*0.0001*savedMoney; interest=yearInterest+dayInterest; System.out.printf(“%d元存在建设银行%d年零%d天的利息:%f元n”,savedMoney,super.year,day,interest);return interest;BankOfDalian.java public class BankOfDalian extends Bankdouble year;public double computerInterest()super.year=(int)year; double r=year-(int)year; int day=(int)(r*1000); double yearInterest=puterInterest; double dayInterest=day*0.00012*savedMoney; interest=yearInterest+dayInterest; System.out.printf(“%d元存在大连银行%d年零%d天的利息:%f元n”,savedMoney,super.year,day,interest);return interest;SaveMoney.java public class SaveMoney public static void main(String args) int amount=8000; ConstructionBank bank1=new ConstructionBank(); bank1.savedMoney=amount; bank1.year=8.236; bank1.setInterestRate(0.035); double interest1=puterInterest(); BankOfDalian bank2=new BankOfDalian(); bank2.savedMoney=amount; bank2.year=8.236; bank2.setInterestRate(0.035); double interest2=puterInterest(); System.out.printf(“两个银行利息相差%f元n”,interest2-interest1);5.运行效果示例程序运行效果如下图所示: 6.实验小结 (1)当SUPER调用被隐藏的方法时,该方法中出现的成员变量是被子类隐藏的成员变量或继承的成员变量。 (2)子类不继承父类的构造方法,因此,子类在其构造方法中需使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论