实验-抽象类和接口

更新时间:2023-10-02 06:06:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学生实验报告

课程: 实验指导教师: 系别: 班 级: 实验日期: 年 月 日 实验地点:

姓名: 学号:

一、实验名称: 抽象类和接口 实验概述: 【实验目的及要求】 1 子类的继承性 2子类对象的创建过程 3成员变量的继承和隐藏 4方法的继承和重写 【实验环境】(使用的软件) Eclipse 实验内容: 【实验过程】(实验步骤、记录、数据、分析) 实验内容: 一、有一个abstract类,类名为Employee。Employee的子类有YearWorker,MonthWorker和WeekWorker。YearWorker对象按年领取薪水,MonthWorker对象按月领取薪水,WeekWorker对象按周领取薪水。Employee类有一个抽象方法: public abstract double earnings( ); 子类必须重写父类的earnings方法,给出各自领取报酬的具体方式。 有一个Company类,该类用employee数组作为成员,employee数组的成员可以是YearWorker对象的上转型对象、MonthWorker对象的上转型对象或WeekWorker对象的上转型对象。程序能够输出Company对象一年需要支付的薪水总额。 程序模板 按模板要求,将【代码1】~【代码4】替换为Java程序代码。

HardWork.java abstract 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(Employee[ ] employee) { this.employee=employee; } public double salariesPay( ) { salaries=0; 【代码4】 // 计算salaries return salaries; } } public class HardWork { public static void main(String args[ ]) { Employee[ ] employee=new Employee[20]; for(int i=0;i

else if(i%3==2) employee[i]=new YearWorker( ); } Company company=new Company(employee); System.out.println(\公司年工资总额:\ } } 问题: 1、子类YearWorker如果不重写父类的earnings( )方法,程序编译时会提示怎样的错误? 二、有一个ComputeTotalSales接口,该接口中有一个方法: public double totalSalesByYear( ); 有三个实现该接口的类:Television、Computer和Mobile。这三个类通过实现接口ComputeTotalSales,给出自己的年销售额。 有一个shop类,该类用ComputeTotalSales数组作为成员,ComputeTotalSales数组的单元可以存放Television对象的引用、Computer对象的引用或Mobile对象的引用。程序能输出shop对象的年销售额。 程序模板 按模板要求,将【代码1】~【代码4】替换为Java程序代码。 HappySale.java interface ComputeTotalSales { public double totalSalesByYear( ); } class Television implements ComputeTotalSales { 【代码1】 // 实现totalSalesByYear( )方法 } class Computer implements ComputeTotalSales { 【代码2】 // 实现totalSalesByYear( )方法 } class Mobile implements ComputeTotalSales

{ 【代码3】 // 实现totalSalesByYear( )方法 } class Shop { ComputeTotalSales[ ] goods; double totalSales=0; Shop(ComputeTotalSales[ ] goods) { this.goods=goods; } public double giveTotalSales( ) { totalSales=0; 【代码4】 // 计算totalSales return totalSales; } } public class HappySale { public static void main(String args[ ]) { ComputeTotalSales[ ] goods=new ComputeTotalSales[50]; for(int i=0;i

心得体会 指导教师批阅成绩 指导教师签名:

本文来源:https://www.bwwdw.com/article/pe5d.html

Top