实验五 继承与接口

上传人:壹****1 文档编号:497988986 上传时间:2023-09-28 格式:DOCX 页数:11 大小:44.34KB
返回 下载 相关 举报
实验五 继承与接口_第1页
第1页 / 共11页
实验五 继承与接口_第2页
第2页 / 共11页
实验五 继承与接口_第3页
第3页 / 共11页
实验五 继承与接口_第4页
第4页 / 共11页
实验五 继承与接口_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《实验五 继承与接口》由会员分享,可在线阅读,更多相关《实验五 继承与接口(11页珍藏版)》请在金锄头文库上搜索。

1、实验五继承与接口1. 实验目的1、掌握类的继承细节内容,包括子类的继承、子类对象创建、成员变量的 继承与隐藏、方法的继承与重写2、掌握重写的目的以及怎样使用super关键字3、掌握上转型对象与接口回调技术4、掌握类怎样实现接口,及面向接口的编程思想2. 实验内容1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行 得出结果。1)实验1中国人与美国人2)实验2银行与利息3)实验3面积之和4)实验4歌手大赛5)实验5天气预报2、设计编写程序完成以下任务。1)根据要求修改实验2,参照建设银行再编写一个商业银行(广发行),让 程序输出8000元在广发行8年零212天的利息。2)根据要求修

2、改实验3,再增加一种几何图形(梯形),并让主类中的tuxing 的某些元素是梯形的上转型对象。3)仿照实验5编写一个程序实现模拟水杯中的水在不同温度下可能出现的 状态。4)编写一个接口并创建两个实现该接口的类A、B。A、B类实现了接口的f方法,A类的f方法内容为计算1! +3! +5! +9!并返回结果,B类的f方 法内容为计算2! +4! +6! +10!也返回结果;再编一个执行类,执行类运行时要求通过接口回调方式用同一个对象实例分别调用A类的f方法和B类的f 方法。5)(1)定义一个汽车类Vehicle,要求如下(知识点:类的继承方法的覆盖)(a)属性包括:汽车品牌brand (Strin

3、g类型)、颜色color(String类型) 和速度speed (double类型)。(b)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值, 但速度的初始值必须为0)。(c)为属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。(d)定义一个一般方法run(),用打印语句描述汽车奔跑的功能。定义测试类VehicleTest,在其main方法中创建一个品牌为“benz”、颜 色为“black”的汽车。(2)定义一个Vehicle类的子类轿车类Car,要求如下:(a)轿车有自己的属性载人数loader(int类型)。(b)提供该类初始化属性的构造方法。(c)重新定义run(),

4、用打印语句描述轿车奔跑的功能。(d) 定义测试类Test,在其main方法中创建一个品牌为“Honda”、颜色 为“red”,载人数为2人的轿车。面向对象基础出过类似的,这个把继承引入了6) Cola公司的雇员分为以下若干类:(知识点:多态)(1) ColaEmployee :这是所有员工总的父类,属性:员工的姓名,员工的生 日月份。方法:getSalary(int month)根据参数月份来确定工资,如果该月员工过 生日,则公司会额外奖励100元。(2) SalariedEmployee : ColaEmployee 的子类,拿固定工资的员工。属性:月薪(3) HourlyEmployee

5、: ColaEmployee的子类,按小时拿工资的员工,每月 工作超出160小时的部分按照1.5倍工资发放。属性:每小时的工资、每月工作的小时数(4) SalesEmployee : ColaEmployee的子类,销售人员,工资由月销售额 和提成率决定。属性:月销售额、提成率(5) 定义一个类Company,在该类中写一个方法,调用该方法可以打印出某 月某个员工的工资数额,写一个测试类TestCompany,在main方法,把若干各种 类型的员工放在一个ColaEmployee数组里,并单元出数组中每个员工当月的工 资。知识点:继承与多态7) 利用接口实现动态的创建对象:(知识点:接口)(1

6、) 创建4个类1苹果2香蕉3葡萄4园丁(2) 在三种水果的构造方法中打印一句话.以苹果类为例class applepublic apple()System.out.println(“创建了一个苹果类的对象)(3) 类图如下:FmitParOranges.Gardener+create() : Fruit(4)要求从控制台输入一个字符串,根据字符串的值来判断创建三种水果 中哪个类的对象。3. 实验步骤4. 评分标准1. A内容功能完善,编程风格好,人机接口界面好;2. B内容功能完善,编程风格良好,人机接口界面良好;3. C完成必做内容;4. D能完成必做内容;5. E未按时完成必做内容,或者抄

7、袭(雷同者全部为E).参照书上实验按模版要求,将【代码】替换为Java程序代码,编写好完整 的程序文档,最后运行得到的相关文件,把实验所得文件一起打包上交。(压缩 包的文件名为:学号后三位和名字开头字母,如109zhh. RAR|ZIP)附录:实验1中国人与美国人模板代码People.javapublic class People (protected double weight ,height;public void speakHello()(System.out.println(yayayaya);public void averageHeight()(height=173;System.

8、out.println(average height:+height);public void averageWeight()(weight=70;System.out.println(average weight:+weight);ChinaPeople.javapublic class ChinaPeople extends People(public void speakHello()(System.out.println(你好”);public void averageHeight()(height=168.78;System.out.println(中国人的平均身高:+height+

9、厘米”);/【代码1】重写public void averageWeight()方法,输出:中国人的平均体重:65公斤”public void chinaGongfu()(System.out.println(坐如钟,站如松,睡如弓);AmericanPeople.javapublic class AmericanPeople extends People(/【代码 2】重写 public void speakHello()方法,输出:How do you do/【代码 3】/重写 public void averageHeight()方法,输出:Americans average heigh

10、t:176cmpublic void averageWeight()(weight=75;System.out.println(Americans average weight:+weight+kg);public void americanBoxing()(System.out.println(直拳、钩拳、组合拳”);BeijingPeople.javapublic class BeijingPeople extends ChinaPeople(/【代码4】重写public void averageHeight()方法,输出:北京人的平均身高:172.5厘米”/【代码5】重写public v

11、oid averageWeight(方法,输出:北京人的平均体重:70公斤”public void beijingOpera()System.out.println(花脸、青衣、花旦和老生);Example.javapublic class Example public static void main(String args) ChinaPeople chinaPeople = new ChinaPeople();AmericanPeople americanPeople = new AmericanPeople();BeijingPeople beijingPeople = new Bei

12、jingPeople();chinaPeople.speakHello();americanPeople.speakHello();beijingPeople.speakHello();chinaPeople.averageHeight();americanPeople.averageHeight();beijingPeople.averageHeight();chinaPeople.averageWeight();americanPeople.averageWeight();beijingPeople.averageWeight();chinaPeople.chinaGongfu();ame

13、ricanPeople.americanBoxing();beijingPeople.beijingOpera();beijingPeople.chinaGongfu();实验2银行与利息Bank.javapublic class Bank (int savedMoney;int year;double interest;double interestRate=0.29;public double computerInterest()(interest=year*interestRate*savedMoney;return interest;public void setInterestRat

14、e(double rate) ( interestRate = rate;ConstructionBank.javapublic class ConstructionBank extends Bank(double year;public double computerInterest()(super.year=(int)year;double r=year-(int)year;int day=(int)(r*1000);double yearInterest=/【代码 1】/super 调用隐藏的 computerInterest()方法double dayInterest=day*0.00

15、01*savedMoney;interest=yearInterest+dayInterest;System.out.printf(%d元存在建设银行%d年零%d天的利息:%f元 n”,savedMoney,super.year,day,interest);return interest;BankOfDalian.javapublic class BankOfDalian extends Bank(double year;public double computerInterest()(super.year=(int)year;double r=year-(int)year;int day=(int)(r*

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号