2022年第八次实验报告总结计划

上传人:151****513 文档编号:245967450 上传时间:2022-01-26 格式:DOCX 页数:7 大小:8.92KB
返回 下载 相关 举报
2022年第八次实验报告总结计划_第1页
第1页 / 共7页
2022年第八次实验报告总结计划_第2页
第2页 / 共7页
2022年第八次实验报告总结计划_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《2022年第八次实验报告总结计划》由会员分享,可在线阅读,更多相关《2022年第八次实验报告总结计划(7页珍藏版)》请在金锄头文库上搜索。

1、精选word文档 下载可编辑第八次实验实验 1:中国人、北京人和美国人1. 实验要求:编写程序模拟中国人、美国人是人, 北京人是中国人。除主类外, 程序中还有4 个类:People 、ChinaPeople 、 AmericanPeople和 BeijingPeople类。要求如下:1) People 类有权限是 protected 的 double 型成员变量 height 和 weight ,以及 publicvoid speakHello ( )、 publicvoidaverageHeight( ) 和 publicvoidaverageWeight()方法。(2)ChinaPeopl

2、e 类是 People 的子类,新增了 publicvoid averageHeight ()和 publicvoidaverageWeight ()方法。(3)AmericanPeople类是 People 的子类, 新增方法 public void AmericanBoxing () 。要求 AmericanPeople 重写父类的public void speakHello()、 public voidaverageHeight()和 public void averageWeight()方法。(4)BeijingPeople类是 ChinaPeople的子类,新增public void

3、 beijingOpera()方法。实验代码:验结果:实验分析:方法重写时要保证方法的名字、类型、参数的个数和类型同父类的某个方法完全想同。这样,子类继承的方法才能被隐藏。子类在重写方法时,如果重写的方法是static 方法, static 关键字必须保留;如果重写的方法是实例方法,重写时不可以用static 修饰。如果子类可以继承父类的方法,子类就有权利重写这个方法,子类通过重写父类的方法可以改变父类的具遗体行为。实验后的练习:People 类中的public void speakHello()public void averageHeight()public void averageWei

4、ght()三个方法的方法体中的语句是否可以省略。答:可以省略,因为省略后结果没有变化实验 2:银行计算利息实验要求:假设银行 bank 已经有了按整年 year 计算利息的一般方法, 其中 year 只能取正整数。比如,按整年计算的方法:Double computerInternet()Interest=year*saveMoney;Return interest;建设银行constructionBank是 bankde 子类,准备隐藏继承的成员变量year ,并重写计算利息的方法,即自己声明一个double型的year变量。要求constructionbank和bankofDalian类是

5、bank 类的子类, constructionbank和 bankofdalian都使用 super 调用隐藏的按整年计算利息的方法。2. 实验代码:验结果:实验分析:(1)子类不继承父类的构造方法,因此子类在其构造方法中需使用super 来调用父类的构造方法,并且 super 必须是子类构造方法中的头一条语句。2) 当 super 调用被隐藏的方法时,该方法中出现的成员变量是被子类隐藏的成员变量或继承的成员变量。实验后的练习:参照建设银行或大连银行,在编写一个商业银行,让程序输出8000 元存在商业银行8 年零天的利息。验要求:要求有一个 abstract 类,类名为 Employee。Em

6、ployee 的子类有 YearWorker 、MonthWorker 、WeekWorker。YearWorker 对象按年领取薪水, MonthWorker 按月领取薪水、 WeekWorker 按周领取的薪水。Employee 类有一个 abstract 方法:public abstract earnings();子类必须重写父类的earings()方法,给出各自领取报酬的具体方式。有一个 Company类,该类用 Employee 对象数组作为成员, Employee 对象数组的单元可以是 YearWorker 对象的上转型对象、 MonthWorker 独享的上转型独享或 weekw

7、orker 对象的上转型独享。程序能输出 Company对象一年需要支付的薪水总额。实验代码:abstract class Employeepublic abstract double earnings();class YearWorker extends Employeepublic double earnings()return 12000;class MonthWorker extends Employeepublic double earnings()return 12*2300;class WeekWorker extends Employeepublic double earnin

8、gs()return 52*780;class CompanyEmployee employee;double salaries=0;Company(Employee employee)=employee;public double salariesPay()salaries=0;for(int i=0;i;i+)salaries=salaries+employeei.earnings();return salaries;public class CompanySalarypublic static void main(String args)Employee employee=new Emp

9、loyee29;for(int i=0;i;i+)if(i%3=0)employeei=new WeekWorker();else if(i%3=1)employeei=new MonthWorker();else if(i%3=2)employeei=new YearWorker();Company company=new Company(employee); 公司薪水总额:+()+元 );实验结果:实验分析:尽管 abstract 类不能创建对象,但 abstract 类声明的对象可以存放子类对象的引用,即成为子类对象的上转型对象。实验后的练习:(1)子类 yearworker如果不重写e

10、arnings ()方法,程序编译是提示怎么样的错误。YearWorker不是抽象的,并且未覆盖Employee中的抽象方法earnings()class YearWorker extends Employee(2)在增加一种雇员,并计算公司一年的总薪水。class DayWorker extends Employeepublic double earnings()return 365*100;将 for语句改写为:for(int i=0;i;i+)if(i%4=0)employeei=new WeekWorker();else if(i%4=1)employeei=new MonthWorker();else if(i%4=2)employeei=new YearWorker();else if(i%4=3)employeei=new DayWorker();

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

当前位置:首页 > 办公文档 > 其它办公文档

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