当前位置:文档之家› 实验7 面向抽象编程

实验7 面向抽象编程

for(int i=0;i<games.length;i++){ if(games[i]!=null) games[i].play();
} } } 请运行以上代码,观察代码的输出。另外,请考虑多态性是如何提高程序的扩展能力的?
实验 7 面向抽象编程
实验要求 1) 掌握上转型对象的应用技巧。 2) 掌握抽象类和抽象方法的具体应用。 3) 掌握软件设计原则:开-闭原则的具体应用方法及面向抽象的编程思想。 4) 实验报告中写出程序的设计思路,关键代码,调试错误及解决方案。
实验类型:设计型 实验内容
1) 利用面向抽象的编程思想,计算各种柱体的体积。
右图ቤተ መጻሕፍቲ ባይዱ该程序的 UML 类图。编写测 试类 PillarTest,输出底为圆形、长方形、 三角形的柱体体积。(在实验 3 的基础上 修改)
2) 要求有一个 abstract 类,类名为 Employee。Employee 的子类有 YearWorker,MonthWorker 和 WeekWorker。YearWorker 对象按年领取薪水,MonthWorker 按月领取薪水,WeekWorker 按周领取薪水。 主程序 HardWork 能输出一年需要支付的薪水总额。
} 请实现类 Football、Basketball、Popolong,各个类的调用方式如下: public class Games {
public static void main(String[] args) { Game[] games = new Game[3]; games[0] = new Basketball(); games[1] = new Football(); games[2] = new Popolong();
3) 多态性是指统一的接口,不同的表现形式。在 Game 类是定义了 play 方法,其子类 Football、 Basketball 和 Popolong 从 Game 类派生而来。
public abstract class Game { protected abstract void play();
Employee 类有一个 abstract 方法:public abstract double earnings(); 子类必须重写父类的 earnings() 方法,给出各自领取报酬的具体方法。
Employee[] e=new Employee[3]; e[0]=new YearWorker(); e[1]=new MonthWorker(); e[2]=new WeekWorker ();
相关主题