版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、华北电力大学实验报告实验名称Java程序面向对象设计(二)学生姓名: 成 绩: 实验日期:课程名称Java程序设计专业班级:学 号:指导教师:张学斌一、实验目的及要求1. 掌握类的继承。2. 掌握类的隐藏和覆盖。3. 掌握抽象类和抽象方法二、试验内容实验1中国人、北京人和美国人1 实验要求编写程序模拟中国人、美国人是人,北京人是人。出主类外,程序中还有4个类:People、ChinaPeople、AmericanPeople 禾口 BeijingPeople 。要求如下:People 类有权限是 protected 的 double 型成员变量 height 和 weight,以及 publi
2、c void speakHello() 、public void averageHeight()禾口 public void averageWeight() 方法。ChinaPeople 类是 People 类的子类,新增了 public void chinaGongfu()方法,要求Chinapeople 重写父类的public void speakHello() 、public void averageHeight() 禾口public void averageWeight() 方法。AmericanPeople 类是 People 的子类,新增public void americanBo
3、xing()方法。要求Americanpeople 重写父类的 public void speakHello() 、public void averageHeight() 禾口 public void averageWeight() 方法。BeijingPeople 类是 Chinapeople 的子类,新增 public void beijingOpera()方法。要求ChinaPeople 重写父类的 public void speakHello() 、public void averageHeight() 禾口 public void averageWeight() 方法。2 .程序模板
4、People.javapublic class People protected double weight,height;public void speakHello() System.out.pri ntl n(yayayaya);public void averageHeight() height=173;System.out.println(average height:+height);public void averageWeight() weight=70;System.out.pri ntln (average weight:+weight);Chin aPeople.java
5、public class Chin aPeople exte nds People public void speakHello() System.out.pri ntln (您好);public void averageHeight() height = 168.78;System.out.println(”中国人的平均身高:+height+厘米);【代码1】/重写public void averageWeight() 方法,输出:中国人的平均体重:65公斤 public void chinaGon gfu() System.out.println(”坐如钟,站如松,睡如弓);America
6、 nPeople.javapublic class America nPeople exte nds People 【代码 2 】/ 重写 public void speakHello() 方法,输出How do you do【代码 3】/ 重写 public void averageHeight() 方法,输出Americans average height:176 cm public void averageWeight() weight = 75;System.out.println(Americans average weight:+weight+ kg);public void am
7、erica nBox in g() System.out.pri ntl n(”直拳、钩拳、组合拳);Beiji ngPeople.javapublic class Beiji ngPeople exte nds Chin aPeople 【代码4】/重写public void averageHeight() 方法,输出:北京人的平均身高:172.5 厘米【代码5】/重写public void averageWeight() 方法,输出:北京人的平均体重:70公斤 public void beiji ngOpera() System.out.pri ntl n(”花脸、青衣、花旦和老生 ”);
8、Example.javapublic class Example public static void main(String args) Chin aPeople chin aPeople=new Chin aPeople();America nPeople america nPeople=new America nPeople();BeijingPeople beijingPeople=new BeijingPeople();chi naPeople.speakHello();america nPeople.speakHello();beiji ngPeople.speakHello();
9、chi naPeople.averageHeight();america nPeople.averageHeight();beiji ngPeople.averageHeight();chi naPeople.averageWeight();america nPeople.averageWeight();beiji ngPeople.averageWeight();chi naPeople.ch inaGon gfu();america nPeople.america nBox in g();beiji ngPeople.beiji ngOpera();beiji ngPeople.ch in
10、aGon gfu(); 实验2银行利息计算1. 实验要求假设银行Bank()已经有了按整年 year计算利息的一般方法,其中 year只能取正整数。比如按整 年计算的方法:double computerI nterest() in terest=year*0.35*savedM on ey;return in terest;建设银行ConstructionBank是Bank的子类,准备隐藏继承的成员变量year,并重写计算利息的方法,即自己声明一个 double型的year变量,比如,当year取值5.216时,表示要计算5年零216 天的利息,但希望首先按银行 Bank的方法computer
11、Interest()计算出5整年的利息,然后再计算216天的利息。那么,建设银行就必须把5.216的整数部分赋给隐藏的year,并让super调用隐藏的,按整年计算利息的方法。要求 ConstructionBank 和 BankOfDalian 类是 Bank 类的子类,ConstructionBank 和 BankOfDalian 都使用super调用隐藏的成员变量和方法。2. 程序模板Ban k.java public class Bank int savedM on ey;int year;double in terest;double in terestRate = 0.29; pub
12、lic double computerI nterest() in terest=year*i nterestRate*savedM on ey;return in terest;public void setI nterestRate(double rate) in terestRate = rate; Con structio nBan k.javapublic class Con struct ionBank exte nds Bank double year;public double computerI nterest() super.year=(i nt)year;double r
13、 = year-(i nt)year;int day=(i nt)(r*1OOO);double yearInterest =【代码 1】/super 调用隐藏的 computerInterest()double day In terest = day*0.0001*savedMo ney;in terest= yearI nterest+day In terest;System.out.printf(%d元存在建设银行d年零4天的利息:f元n,savedM on ey,super.year,day,i nterest);return in terest;Ban kOfDalia n.java
14、public class Ban kOfDalia n exte nds Bank double year;public double computerI nterest() super.year=(i nt)year;double r = year-(i nt)year;int day=(i nt)(r*1OOO);double yearInterest =【代码 2】/ super调用隐藏的 computerInterest()double dayI nterest = day*0.00012*savedMo ney;in terest= yearI nterest+day In tere
15、st;System.out.printf(%d元存在大连银行d年零4天的利息:%f元n,savedM on ey,super.year,day,i nterest);return in terest;方法方法SaveMon ey.javapublic class SaveMoney public static void main(String args) int amou nt=8000;Con structi onBank bank1 = new Con struct ionBan k();ban k1.savedM oney = amount;ba nk1.year = 8.236;ba
16、nk1.setI nterestRate(0.035);double in terest1 = ban puterl nterest();Ban kOfDalian bank2 = new Ban kOfDalia n();ban k2.savedM oney = amount;ba nk2.year = 8.236;ba nk2.setI nterestRate(0.035);double in terest2=ba puterl nterest();System.out.pri ntf(两个银行利息相差 %f 元n ”,i nterest2-i nterest1)
17、;3. 实验扩展参照建设银行或大连银行,再编写一个商业银行,让程序输出8000元存在商业银行8年零236天的利息实验3公司支出的总薪水1.实验要求有一个 abstract 类,类名为 Employee。Employee 的子类有 YearWorker、MonthWorker 和 WeekWorker。YearWorker对象按年领取薪水,MonthWorker按月领取薪水,WeekWorker按州领取薪水。Employee类有一个 abstract 方法: Public abstract earnings();子类必须重写父类的earnings()方法,给出各自领取报酬的具体公式。有一个 Co
18、mpany类,该类用 Employee对象数组作为成员,Employee对象数组的单元可以是YearWorker对象的向上转型对象、MonthWorker对象的向上转型对象或WeekWorker对象的向上转型对象。程序能输出 Compa ny对象一年需要支付的薪水总额。2 .程序模板Comapa nySalary.java abstract class Employee public abstract double earnin gs();class YearWorker exte nds Employee 【代码1】/重写earnings()方法class Mon thWorker exte
19、 nds Employee 【代码2】/重写earnings()方法class WeekWorker exte nds Employee 【代码3】/重写earnings()方法。class Compa ny Employee employee;double salaries=0;Compa ny (Employee employee) this.employee=employee;public double salariesPay() salaries=O;【代码4】/计算salaries 。retur n salaries; public class Compa ny Salary public static void main(String args) Employee employee=new Employee29; /公司有29名雇员for(i nt i=0;iemployee.le ngth;i+) /雇员简单地分成三类if(i%3=0)emplo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理记录的团队协作
- 2026五年级数学上册 循环小数的认识
- 2026二年级数学下册 调查方法的学习
- 2026年医疗废物规范化管理培训试题及答案
- 快捷酒店岗位责任制度
- 意识形态与主体责任制度
- 房地产安全责任制度
- 扶梯安全生产责任制度
- 技术经济承包责任制度
- 护士法律责任制度
- 《社会工作研究方法》教学大纲
- 材料设备验收移交单
- 输煤栈桥彩钢板更换施工方案
- PCI术后常见并发症及处理
- GB/T 35163-2017载重汽车轮胎湿路面相对抓着性能试验方法
- 【公开课】排列、排列数+课件高二下学期数学人教A版(2019)选择性必修第三册
- 溢油应急处置培训讲义
- 袁晓萍:认识圆柱
- 胜任特征辞典
- 顶松DS822-D数字仪表调角和标定方式
- 小学美术第6课 飞天(一) 课件 课件
评论
0/150
提交评论