案例介绍:
某五星级酒店,资金雄厚,要招聘多名员工(经理、厨师、服务员)。入职的员工需要记录个人信息(姓名、工号、经理特有奖金属性)。他们都有自己的工作要做。
本案例要完成如下需求:
获取酒店幸运员工;
酒店开设VIP服务,酒店的厨师与服务员可以提供VIP服务。(厨师做菜加量、服务员给顾客倒酒)。
编写测试类:
向酒店中,增加多名员工(其中包含1名经理,1名厨师、2名服务员);
调用酒店员工的工作功能
调用酒店员工的VIP服务功能
实现代码:
/*
* 酒店的VIP服务
* 厨师和服务员
*/
public interface VIP {
public abstract void services();
}
/*
* 酒店的员工类
* 员工共性, 姓名,工号 工作方法
*/
public abstract class Employee {
private String name;
private String id;
public Employee(){}
public Employee(String name,String id){
this.name = name;
this.id = id;
}
public abstract void work();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
/*
* 定义幸运员工类
* 创建Starting类型集合
* 利用Random获取随机数
*/
import java.util.Random;
public class Randomname {
String[] name = {"翠花","酸菜","老干妈","老干爹","小名"};
public void Randoms() {
Random r = new Random();
int index = r.nextInt(name.length);
System.out.println("=====幸运员工=====");
System.out.println(name[index]);
}
}
/*
* 定义厨师类
* 属于员工一种,具有额外服务功能
* 继承Employee,实现VIP接口
*/
public class ChuShi extends Employee implements VIP{
//空参数构造方法
public ChuShi(){}
//有参数构造方法
public ChuShi(String name,String id){
super(name,id);
}
//抽象方法重写
public void work(){
System.out.println("厨师在炒菜");
}
public void services(){
System.out.println("厨师做菜加量");
}
}
/*
* 定义服务员类
* 属于员工一种,具有额外服务功能
* 继承Employee,实现VIP接口
*/
public class FuWuYuan extends Employee implements VIP{
//空参数构造方法
public FuWuYuan() {
super();
}
//满参数构造方法
public FuWuYuan(String name, String id) {
super(name, id);
}
//抽象方法重写
public void work(){
System.out.println("服务员在上菜");
}
public void services(){
System.out.println("服务员给顾客倒酒");
}
}
/*
* 定义经理类
* 属于员工一种,没有VIP功能
* 自己有奖金属性
*/
public class JingLi extends Employee {
//空参数构造方法
public JingLi(){}
//满参数构造方法
public JingLi(String name,String id,double money){
super(name, id);
this.money = money;
}
//定义奖金属性
private double money;
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
//重写抽象方法
public void work(){
System.out.println("管理,谁出错我罚谁");
}
}
public class Test {
public static void main(String[] args) {
//创建1个经理,2个服务员,2个厨师
JingLi jl = new JingLi("小名", "董事会001", 123456789.32);
jl.work();
FuWuYuan f1 = new FuWuYuan("翠花", "服务部001");
FuWuYuan f2 = new FuWuYuan("酸菜", "服务部002");
f1.work();
f1.services();
f2.work();
f2.services();
ChuShi c1 = new ChuShi("老干妈", "后厨001");
ChuShi c2 = new ChuShi("老干爹", "后厨002");
c1.work();
c1.services();
c2.work();
c2.services();
new Randomname().Randoms();
}
}