Java实验五

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

实验五继承、抽象类和接口

学号 6 姓名刘顺专业网络工程成绩

【实验目的与要求】

1、掌握Java中类的继承、变量继承、方法继承的思想和使用;

2、理解和掌握java中多态性的覆写和重载的区别和用法;

3、掌握抽象和接口的工作机制和用法;

4、实验后及时总结、归纳、分析,并完成实验报告。

【实验内容与要求】

1、继承和覆盖的使用

(1)编写Employee雇员类,在该类中定义了3个域:name表示员工姓名,salary表示员工的工资,work表示工作:“编写程序”,并分别为它们定义了set和get方法。

(2)编写Manager经理类,该类继承自Employee雇员类。在该类中,定义了一个bonus域,表示经理的奖金,重写work方法:“管理项目”。

(3)在主类中,创建Employee雇员和Manager经理对象,并为其赋值,输出其信息。

2、抽象类的定义和使用

(1)定义抽象类Aniaml动物抽象类,通过构造方法得到动物名字并输出;定义抽象方法shout()表示叫声;定义抽象方法eat()表示吃食。

(2)定义Cat类继承自Animal类,调用父类的构造方法输出猫的名字信息。实现抽象方法shout(“猫叫:喵喵喵!”) ;实现抽象方法eat(“猫喜欢吃:鱼”)。

(3)定义Dog类继承自Animal类,调用父类的构造方法输出狗的名字信息。实现抽象方法shout(“狗叫:汪汪汪!”) ;实现抽象方法eat(“狗喜欢吃:骨头”)。

(4)在主方法中,实例化“小猫”和“小狗”,并向上转型赋给Aniaml类变量Animal ani =new Cat("小猫"); 分别调用ani的shout()和eat()方法。

3、接口的定义和使用

(1)定义一个USB接口标准,定义2个抽象方法:USB设备信息显示show();USB设备开始工作start();USB 设备停止工作stop();

(2)定义U盘子类,class Flash implements USB实现USB接口标准,实现方法:USB接入产品信息show (“USB设备已经接入”);设备启动信息start(“USB设备已经启动”);设备停止动作信息stop(“USB设备已经停止”);

(2)定义打印机子类,class Print implements USB实现USB接口标准,实现方法:打印机接入产品信息show

(“打印机已经接入”);设备启动信息s tart(“打印机已经启动”);设备停止动作信息stop(“打印机已经停止”);

(3) 定义Computer类,定义插入USB方法 plugin(USB usb) ,调用接口方法,实现接口功能。

(4) 在主类中定义Computer 的对象,分别调用方法plugin(USB Flash)表示插入Flash优盘,plugin(USB print) 表示插入打印机。

【实验过程与结果】

实验1:

实验程序

class Employee{ //父类(员工类)

private String name; //私有成员变量姓名

private double salary; //私有成员变量工资

private String work; //私有成员变量工作

//成员变量赋值

public void setname(String name){

=name;

}

public void setsalary(double salary){

=salary;

}

public void setwork(String work){

=work;

}

//成员变量输出

public void getname(){

"姓名:"+name);

}

public void getsalary(){

"工资:"+salary);

}

public void getwork(){

"工作:"+work);

}

}

class Manager extends Employee{ //子类(经理类)private double bonus; //私有成员变量奖金private String work; //私有成员变量工作

//成员变量赋值

public void setbonus(double bonus){

=bonus;

}

//成员变量输出

public void getbonus(){

"奖金:"+bonus);

}

//成员变量赋值

public void setwork(String work){

=work;

}

//成员变量输出

public void getwork(){

"经理工作:"+work);

}

}

public class Company {

public static void main(String[] args) {

Employee p1=new Employee(); //实例化对象p1(员工)

Manager p2=new Manager(); //实例化对象p2(经理)

("小明"); //员工姓名

(5000); //员工工资

("编写程序"); //员工工作

(); //调用输出

(); //调用输出

(); //调用输出

"***** ***分*** ***割*** ***线*** *****");

("小李"); //经理姓名

(5000); //经理工资

(); //调用输出

(); //调用输出

(2000); //经理奖金

("管理项目"); //经理工作

(); //调用输出

(); //调用输出

// TODO自动生成的方法存根

}

}

实验结果:

仅供参考:

相关文档
最新文档