星级酒店案例

一、案例介绍

       某五星级酒店,资金雄厚,要招聘多名员工(经理、厨师、服务员)。入职的员工需要记录个人信息(姓名、工号、经理特有奖金属性)。他们都有自己的工作要做。

本案例要完成如下需求:

       1、获取酒店幸运员工;

       2、酒店开设VIP服务,酒店的厨师与服务员可以提供VIP服务。(厨师做菜加量、服务员给顾客倒酒)。

       3、编写测试类

            ①向酒店中,增加多名员工(其中包含1名经理,1名厨师、2名服务员);

            ②调用酒店员工的工作功能

            ③调用酒店员工的VIP服务功能

 

二、案例需求分析

       根据“某五星级酒店,资金雄厚……都有自己的工作要做。”分析出,该题目中包含酒店,可以把它封装成类,多名员工)。

class 员工 {

     属性:姓名

     属性:工号

     方法:工作

}

class 厨师 extends 员工{}

class 服务员 extends 员工{}

class 经理 extends 员工 {

     属性:奖金

}

 

      员工的类型有经理、厨师、服务员,它们有共同的属性(姓名、工号、),经理额外属性(奖金)。

 

       根据“向酒店中,增加多名员工(其中包含1名经理,1名厨师、2名服务员)”。分析出,要创建一个酒店对象,并添加4名员工到酒店对象的员工集合中。

酒店员工集合添加新员工: 经理对象

酒店员工集合添加新员工: 厨师对象

酒店员工集合添加新员工: 服务员对象

酒店员工集合添加新员工: 服务员对象

 

       根据“获取酒店幸运员工”。分析出,从酒店员工集合随机得到一名员工对象。

               ①从酒店员工集合长度范围内,随机产生一个随机数

               ②使用该随机数作为集合的索引,返回该索引处对应的员工对象

 

       根据“酒店开设VIP服务,酒店的厨师与服务员可以提供VIP服务。(厨师做菜加量、服务员给顾客倒酒)”。分析出,这是要增加一个VIP的接口,接口中提供个VIP服务的方法。让厨师与服务员实现该接口。

interface VIP服务{

     抽象方法:服务

}

class 厨师 extends 员工 implements VIP服务{ 重写服务方法 }

class 服务员 extends 员工 implements VIP服务{ 重写服务方法 }

 

三、实现代码步骤

1. VIP服务

public interface VIP {

     public abstract void server(); //服务

}

 

2. 员工

/*

 * 员工:

         姓名 String

         工号 String   

 */

public abstract class YuanGong {

    // 成员变量

    private String xingMing;

    private String gongHao;

    // 构造方法

    public YuanGong() {

        super();

    }

    public YuanGong(String xingMing, String gongHao) {

        super();

        this.xingMing = xingMing;

        this.gongHao = gongHao;

   

    }

    // 抽象方法

    public abstract void work();

   

    // getterssetters

    public String getXingMing() {

        return xingMing;

    }

    public void setXingMing(String xingMing) {

        this.xingMing = xingMing;

    }

    public String getGongHao() {

        return gongHao;

    }

    public void setGongHao(String gongHao) {

        this.gongHao = gongHao;

    }

   

}

 

3. 服务员

/*

 * 定义员工的子类 服务员类

 */

public class FuWuYuan extends YuanGong implements VIP {

    public FuWuYuan() {

        super();

    }

 

    public FuWuYuan(String xingMing, String gongHao) {

        super(xingMing, gongHao);

    }

    @Override

    public void work() {

        System.out.println("亲,全身心为您服务,记得给好评哦");

    }

    @Override

    public void server() {

        System.out.println("给顾客倒酒");

    }

}

 

4. 经理

/*

 * 经理在员工的基础上,添加了奖金成员

 */

public class JingLi extends YuanGong {

    private double jiangJin;

 

    public JingLi() {

        super();

    }

    public JingLi(String xingMing, String gongHao, double jiangJin) {

        super(xingMing, gongHao);

        this.jiangJin = jiangJin;

    }

 

    public double getJiangJin() {

        return jiangJin;

    }

    public void setJiangJin(double jiangJin) {

        this.jiangJin = jiangJin;

    }

 

    @Override

    public void work() {

        System.out.println("哪个员工让顾客不满意,我扣谁钱");

    };

}

 

5. 厨师

/*

 * 定义员工的子类 厨师类

 */

public class ChuShi extends YuanGong implements VIP{

    public ChuShi() {

        super();

    }

    public ChuShi(String xingMing, String gongHao) {

        super(xingMing, gongHao);

    }

 

    @Override

    public void work() {

        System.out.println("我做饭,放心吃吧,包您满意");

    }

    @Override

    public void server() {

        System.out.println("做菜加量加料");

    }

}

 

6. 测试类

public class Test {

    public static void main(String[] args) {

     }

}

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值