上机实验9 多态和抽象类

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上机实验9 多态和抽象类
一、实验名称:多态和抽象类
二、试验目的
掌握面向对象的方式进行程序设计的方法;了解类的继承性和多态性的作用。

掌握抽象方法、抽象类、重写和多态。

三、实验内容:
利用多态性实现的简单工资单系统。

基类:Worker,其派生类是:销售员类:CommissionWorker,他的收入是一小部分基本工资加上销售额的一定的百分比;计件工类:PieceworkWorker,他的收入取决他生产的工件数量;小时工类HourlyWorker:他的收入以小时计算。

若超过40小时部分的报酬是平时的 1.5倍。

采用硬编码方式(即不需要输入,直接用常量为参数建对象)对每一个类建立一个实例,放于Employee数组中,依次打印其工资。

现规定销售员类的提成率输入必须进行检验,只能是0-1之间的一个数。

否则不予接受并提示错误。

按要求重构相应的方法。

以下是部分程序。

abstract class Worker {
abstract public double getSalary();
}
class CommissionWorker extends Worker{
double basicSalary;
double sale;
double rate;
CommissionWorker(double a,double b,double c){
basicSalary=a;
sale=b;
rate=c;
}
public double getSalary()
{
System.out.println("基本工资是"+basicSalary+"销售额是"+sale+"比例是"
+rate+"CommissionWorker工资是"+(basicSalary+sale*rate));
return basicSalary+sale*rate;
}
}
public class testSalary{
public static void main(String [] args)
{
Worker [] w=new Worker[2];
w[0] = new CommissionWorker(1000,10000,0.1);
System.out.println(w[0].getSalary());
} }。

相关文档
最新文档