《实验报告(实验二)》由会员分享,可在线阅读,更多相关《实验报告(实验二)(6页珍藏版)》请在金锄头文库上搜索。
1、北 京 林 业 大 学2013 学年 2014 学年第 2学期 Java程序设计基础实验报告书专 业: 电子 班 级: 电子 姓 名: 学 号: 实验地点: 任课教师: 黄儒乐 实验题目:类的继承、抽象类、上转型对象 、接口 实验环境: Windows2000/XP;局域网 实验要求:1. 对所有实验内容中涉及到的命令均要亲自实践,对照实验指导书进行。2. 把实验中出现的问题以及最后解决的情况反馈到实验报告中。3. 程序作业的源代码要求反馈到实验报告中。实验内容:1. 使用抽象类实现如下程序:按模板要求,将【代码1】【代码6】替换为Java程序代码。HardWork.javaabstract
2、class Employee public abstract double earnings( );class YearWorker extends Employee 【代码1】 / 重写earnings( )方法,返回年薪值class MonthWorker extends Employee 【代码2】 / 重写earnings( )方法,返回月薪值class WeekWorker extends Employee 【代码3】 / 重写earnings( )方法,返回周薪值class Company Employee employee; double salaries=0; Company(
3、Employee employee) this.employee=employee; public double salariesPay( ) salaries=0; 【代码4】 / 计算公司年工资总额salaries return salaries; public class HardWork public static void main(String args ) 【代码5】创建Employee employee对象,数组的初始化长度通过args参数来传递 for(int i=0;iemployee.length;i+) 【代码6】当i能被3整除时,初始化一个WeekWorker对象存放
4、到employeei位置。当i除以3余1时,初始化一个MonthWorker对象存放到employeei位置。当i除以3余2时,初始化一个YearWorker对象存放到employeei位置。 Company company=new Company(employee); System.out.println(公司年工资总额:+company.salariesPay( ) ); 2. 将抽象类改为接口,改造上述程序:要求:新的程序命名为HardWork2.java,package 设置为demo一 、抽象类1.源代码abstract class Employee public abstract
5、double earnings();class YearWorker extends Employeepublic double earnings()double salary=81;return salary;class MonthWorker extends Employeepublic double earnings()double ms=6;return ms*12;class WeekWorker extends Employeepublic double earnings()double ws=1;return ws*4*12;class CompanyEmployee emplo
6、yee;double salaries=0;Company(Employee employee)this.employee=employee;public double salariesPay()salaries=0;for(int i=0;iemployee.length;i+)salaries=salaries+employeei.earnings();return salaries;public class HardWorkpublic static void main(String args)Employee employee=new Employee9;for(int i=0;iem
7、ployee.length;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);System.out.println(公司年工资总额:+company.salariesPay();2.运行结果二 、接口类1.源代码package demo;abstract interface Employee public abstract do
8、uble earnings();class YearWorker implements Employeepublic double earnings()double salary=101;return salary;class MonthWorker implements Employeepublic double earnings()double ms=6;return ms*12;class WeekWorker implements Employeepublic double earnings()double ws=1;return ws*4*12;class CompanyEmploy
9、ee employee;double salaries=0;Company(Employee employee)this.employee=employee;public double salariesPay()salaries=0;for(int i=0;iemployee.length;i+)salaries=salaries+employeei.earnings();return salaries;public class HardWork2public static void main(String args)Employee employee=new Employee21;for(int i=0;iemployee.length;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);System.out.println(公司年工资总额:+company.salariesPay();2.运行结果三、 出现的问题四、 结论分析