星级酒店案例

版权声明:未经同意,严禁转载 https://blog.csdn.net/pengchengliu/article/details/88077050

一、案例介绍                                                                                                              点击此处返回总目录

二、分析

三、代码实现

一、案例介绍 

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

     本案例要完成如下需求: 

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

     2、编写测试类

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

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

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

二、分析 

抽象类:员工类(姓名、工号、工作)

接口:服务

三、代码实现:

1.在以后开发过程当中,每个类都要提供两套构造方法,一个是空参数,另一个是满参数的构造方法。调用者用哪个都可以。

2.要写注释。

3.如果有私有成员,必须要提供get,set方法。

//VIP.java

package cn.itcast.demo01;

/*

 * 接口:酒店的VIP服务。

 * 只有厨师和服务员提供VIP服务。

 */

public interface VIP{

      public abstract void service(); 

}

//Employee.java

package cn.itcast.demo01;

/*

 * 酒店的员工类

 * 定义员工的共性:姓名、工号、工作方法

 */

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 void setName(String name){                 //有私有成员的时候必须提供get、set方法。

             this.name = name;

      }

      public String getName(){

              return name;

      }

      public void setId(String id){

              this.id = id;

      } 

      public String getId(){

              return id;

      }

}

//Cooker.java

package cn.itcast.demo01;

/*

 * 厨师类

 * 继承员工类,实现VIP接口

 */

public class Cooker extends Employee implements VIP{

      public Cooker(){}

   

      public Cooker(String name , String id){

             super(name,id);

      }

      public void work(){

             System.out.println("做菜");

      }

      public void service(){

            System.out.println("多放菜");

      }

}

//Sever.java

package cn.itcast.demo01;

/*

 * 服务员类

 * 继承员工类,实现VIP接口

 */

public class Server extends Employee implements VIP{

      public Server(){}

   

      public Server(String name , String id){

             super(name,id);

      }

      public void work(){

             System.out.println("端菜");

      }

      public void service(){

            System.out.println("倒酒");

      }

}

//Manager.java

package cn.itcast.demo01;

/*

 * 经理类

 * 继承员工类

 */

public class Manager extends Employee{

      private double bonus;

      public Manager(){

     }

   

      public Manager(String name , String id, double bonus){     //这么写!

             super(name,id);

             this.bonus= bonus;

      }

      public void work(){

             System.out.println("端菜");

      }

      public double getBonus(){

             return bonus;

      }

      public void setBonus(double bonus){

             this.bonus = bonus;

      }

}

//Test.java

package cn.itcast.demo01;

public class Test{

      public static void main(String[] args){

            Manager m1 = new Manager("小明","董事会",12222.33);

            m1.work();

            Server s1 = new Server("翠花","服务部001");

            Server s2 = new Server("酸菜","服务部002");

            s1.work();

            s2.service();

           Cooker c1 = new Cooker("老干妈","后厨001");

           Cooker c2 = new Cooker("老干爹","后厨001");

           c1.work();

           c2.service();

      }

}

猜你喜欢

转载自blog.csdn.net/pengchengliu/article/details/88077050
今日推荐