❥ 作为上学年 “Java硬核程序设计实验详解” 系列补充 ❥
目录
☀️| 一、实验目的
1.掌握Java语言中继承和多态的相关概念
2.掌握Java程序设计中继承和多态机制的使用
3.掌握Java语言中接口和包的概念及使用。
☀️| 二、实验内容
❀1. 继承多态综合练习1
(1)建立一个Java抽象类Drink,应当:
①声明一个抽象方法taste(),该方法负责输出饮料的味道;
②声明int型常量来代表不同的饮料类型(咖啡、啤酒、牛奶),如:
③声明静态方法getDrink(int drinkType),根据传入的参数创建不同的饮料对象,并返回该对象,建议使用switch语句。
(2)建立Drink的子类:
①分别建立Drink的子类:Coffee(咖啡类),Beer(啤酒类),Milk(牛奶类);
②实现taste()方法,要求在控制台打印各自的味道特征。
(3)建立Test测试类,测试以上内容的正确性
①编写main方法,输入要新建的饮料类型。
②调用Drink类的getDrink方法,获得相应的饮料对象。然后调用该饮料对象的taste()方法,输出该饮料的味道。
②编译程序,并运行。
要求:测试类放在包名为com.sy4.exe02.test包中,其它类放在com.sy4.exa02包中。
(知识点:类的定义,抽象类,继承,多态)
实验结果:
❀2. 继承多态综合应用练习2
(1)定义一个抽象的People类,有姓名(name),年龄(age),性别(sex)等成员变量,要求成员变量的访问修饰符为private,通过getXxx()和setXxx()方法对各变量进行读写。声明具有一个抽象的role()方法,该方法不返回任何值,用于输出人的身份类型,同时至少定义两个构造方法。
(2)定义一个抽象类Employee类,该类继承People类,该类具有People类的所有成员,并新增雇员底薪薪水(salary)和职工编号(empid)成员变量。同样要有至少两个构造方法,要体现出this和super的几种用法。声明具有一个抽象的getSalary()方法,该方法返回float值,用于返回员工薪水。
(3)定义SalariedEmployee类,它是Employee的子类,拿固定工资的员工,他的薪水就是底薪。重写role和getSalary方法。
(4)定义HourlyEmployee 类,它是Employee 的子类,按小时拿工资的员工,每月工作超出160 小时的部分按照1.5 倍工资发放。新增属性:每小时的工资(hourSalary)、每月工作的小时数(hourWork)。重写role和getSalary方法。
(5)定义SalesEmployee类,它是Employee 的子类,销售人员,工资由月销售额和提成率决定。新增属性:月销售额(saleMoney)、提成率(rate)
(6)定义一个类Company,在该类中写一个方法print(Employee e),调用该方法可以打印出某个员工的工资数额以及该员工的身份类型,写一个测试类CompanyTest在main方法,把若干各种类型的员工放在一个Employee 数组里,并调用print方法输出数组中每个员工当月的工资。
要求:测试类放在包名为com.sy4.exe02.test包中,其它类放在com.sy4.exa02包中。
(知识点:类的定义,抽象类,继承,多态)