实验7 面向抽象编程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验 7 面向抽象编程
实验要求 1) 掌握上转型对象的应用技巧。 2) 掌握抽象类和抽象方法的具体应用。 3) 掌握软件设计原则:开-闭原则的具体应用方法及面向抽象的编程思想。 4) 实验报告中写出程序的设计思路,关键代码,调试错误及解决方案。
实验类型:设计型 实验内容
1) 利用面向抽象的编程思想,计算各种柱体的体积。
for(int i=0;i<games.length;i++){ if(games[i]!=null) games[i].play();
} } } 请运行以上代码,观察代码的输出。另外,请考虑多态性是如何提高程序的扩展能力的?
右图为该程序的 UML 类图。编写测 试类 PillarTest,输出底为圆形、长方形、 三角形的柱体体积。(在实验 3 的基础上 修改)
2) 要求有一个 abstract 类,类名为 Employee。Employee 的子类有 YearWorker,MonthWorker 和 WeekWorker。YearWorker 对象按年领取薪水,MonthWorker 按月领取薪水,WeekWorker 按周领取薪水。 主程序 HardWork 能输出一年需要支付的薪水总额。
Employee 类有一个 abstract 方法:public abstract double earnings(); 子类必须重写父类的 earnings() 方法,给出各自领取报酬的具体方法。
Employee[] e=new Employee[3]; e[0]=new YearWorker(); e[1]=new MonthWorker(); e[2]=new WeekWorker ();
3) 多态性是指统一的接口,不同的表现形式。在 Game 类是定义了 play 方法,其子类 Football、 Basketball 和 Popolong 从 Game 类派生而来。
public abstract class Game { protected abstract void play();
} 请实现类 Football、Basketball、Popolong,各个类的调用方式如下: public class Games {
public ቤተ መጻሕፍቲ ባይዱtatic void main(String[] args) { Game[] games = new Game[3]; games[0] = new Basketball(); games[1] = new Football(); games[2] = new Popolong();
相关文档
最新文档