Java程序设计实验报告
学号 201405060432班级14信计姓名刘帆指导教师金玲玲实验题目实验七、类与对象3实验目的
掌握抽象类的定义及抽象方法;
掌握抽象类的继承特点;
掌握接口的定义和实现,体会接口的作用;实验内容
1. 编写雇员工资支付程序。定义抽象类雇员类Employee类,并提供方法computeSalary()。不同类型的雇员(定义子类)按不同的方式支付工资。
经理:每月获得一份固定的工资;
销售人员:在基本工资的基础上加销售提成;
一般工人:按工作天数计算工资;
试用类的继承及相关机制描述上述功能需求并测试类。
2. 程序功能:在程序中声明一个自定义接口NL,用来计算一个人年龄。
要求:
①定义接口NL,接口中定义属性year,取值为2015;定义抽象方法求年龄age()和输出信息output();
②定义类A实现接口NL,A中定义属性姓名和出生年份,其方法按需定义。
3. 根据所提供接口的定义,续写程序,要求体现对接口的多重继承。(方法实现自定义)
interface A{
int x=10;
String fun1();
}
interface B{
int y=5;
void fun2();
}
//续写
1。
abstract class Employee{
String name;
public Employee(String name){
=name;
}
public String getName(){
return name;
}
public abstract double computeSalary();
}
class Manager extends Employee{
double Salary;
public Manager(String name,double Salary){
super(name);
this.Salary=Salary;
}
public double computeSalary(){
return Salary;
}
}
class Salaesman extends Employee{
double baseSalary;
int quantity;
double univalent;
public Salaesman(String name,double baseSalary,int quantity,double commision){
super(name);
this.baseSalary=baseSalary;
this.quantity=quantity;
this.univalent=univalent;
}
public double computeSalary(){
return baseSalary+quantity*univalent;
}
}
class Worker extends Employee{
int days;
double daySalary;
public Worker(String name,int days,double daySalary){
super(name);
this.days=days;
this.daySalary=daySalary;
}
public double computeSalary(){
return days*daySalary;
}
}
public class EmployeeTest{
public static void main(String args[]){
Manager m=new Manager("刘红",5000);
Salaesman s=new Salaesman("张三",2000,20,300);
Worker w=new Worker("李梅",30,100);
System.out.println("经理工资为:"+puteSalary());
System.out.println("销售工资为:"+puteSalary());
System.out.println("工人工资为:"+puteSalary());
}
}
interface A {
public static int x=10;
public abstract String fun1();
}
interface B {
public static int y