资源描述
实践指导手册 - 4 -
第八章 抽象类和接口
一 、大纲
掌握java中包的定义和使用方法
掌握抽象类和抽象方法
掌握接口的定义和使用
二、实验目标:
学生在完成该实验后能够掌握如下知识点:
1 类的静态成员的创建和使用
2 抽象类和抽象方法的概念
3 接口的定义和使用
三、实验方式:
独立完成
四、任务
4.1任务1:
包的创建和使用(时间:30分钟)
4.1.1 任务描述
1创建一个包a,在该包下有一个Test类,该类有一个void类型的print方法,在方法内打印“我是a包下的Test类”。创建一个包b,在b包下也有一个Test类,该类有一个void类型的print方法,在方法内打印“我是b包下的Test类”。
2创建一个Main类,在Main类的main方法中,分别创建a包下和b包下的Test对象,然后调用各自的print方法打印出它们分别是哪个包下的类
4.1.2 任务目的
该实验目的是为了让学生包的概念、意义和使用方法
4.1.3 任务要求
无
4.1.4 难点提示
创建两个同名类对象,要用如下方法以区别两个同名类
a.Test ta = new a.Test();
b.Test tb = new b.Test();
4.2任务2:
编写抽象员工类及其子类(时间:60分钟)
4.2.1 任务描述
1编写抽象类Employee。该类有如下属性:
l id(编号int型)
l sex(性别 byte型)
l name(姓名String型)
l duty(职务String型)
l salary(薪水float型)
l holidays(请假天数 int型)
该类有如下方法
l display(),无返回值,该方法能打印员工的姓名、性别以及职务三个属性
该类还有一个抽象方法
l getDecMoney(int day) 返回值是int型。该方法能计算员工因请假扣除的工资。
2编写普通员工类(NormalEmployee),该类是Employee的直接子类,并实现了getDecMoney(int day)方法。普通员工扣除工资的计算方法是:如果请假天数<=3,则扣款为30×请假天数;如果请假天数超过3天,则扣款为50×请假天数。参数day表示请假天数。
3 编写董事类(Director),该类也是Employee的直接子类,并实现了getDecMoney(int day)方法。董事扣除工资的计算方法是:如果请假天数<=3,则扣款为50×请假天数;如果请假天数超过3天,则扣款为80×请假天数。参数day表示请假天数。
4 编写Main类,在该类的main方法中,分别创建一个NormalEmployee和一个Director类的对象,并由用户输入其请假天数来计算他们被扣除的工资数。
4.2.2 任务目的
让学生掌握抽象类的创建,抽象方法的概念以及子类如何实现抽象父类中的抽象方法。
4.2.3 任务要求
在调用display()和getDecMone()方法时,要给出相应的提示,例如, getDecMone()方法能计算出扣款额,打印时要提示:该员工因请假扣除工资××元
4.2.4 难点提示
无
4.3任务3:
接口的实现(时间:60分钟)
4.3.1 任务描述
1定义一个接口Shape,该接口有一个计算面积的方法area(),该方法返回一个double类型的返回值。
2定义一个三角形类(Triangle),该类实现了Shape接口。该类有两个属性height(三角形的高),和length(三角形的底边长),该类实现了area()方法,以计算三角形的面积。
3定义一个圆形类(Circle),该类实现了Shape接口。该类有一个属性radius(圆的半径),该类实现了area()方法,以计算圆形的面积。
4 定义Main类,在其main方法中,创建一个三角形类和一个圆形类,分别调用它们的area()方法以计算其面积。
4.2.2 任务目的
让学生掌握接口的使用方法。
4.2.3 任务要求
无
4.2.4 难点提示
无
五、作业
5.1 作业1
5.1.1 作业任务
接口的实现
5.1.2 任务要求
编写一个计算器接口Calable,该接口规定了计算器的基本方法:加(add)、减(reduce)、乘(multiple)、除(divide)、求余数(residue)、阶乘(factorial)等基本方法。然后编写一个计算器类Calculator,该类实现Calable。
5.1.3 难点提示
1实现接口要用关键字implements。
2接口中的方法默认都是public的,因此,在其实现类中不能降低访问度。
展开阅读全文