在面向對象這個專題的最後 結合前面多篇文章,用到了面向對象的很多方面知識,做了一個簡單的案例: 飯店案例: ...
在面向對象這個專題的最後
結合前面多篇文章,用到了面向對象的很多方面知識,做了一個簡單的案例:
飯店案例:
package hotel; /* * 酒店的員工類 * 員工共同特點:姓名,工號,工作方法 */ public class Employee { private String name; private String id; // 註意:實際開發中,需要提供給用戶兩套構造方法 // 一套空參,一套有參 public Employee() { } public Employee(String name, String id) { this.name = name; this.id = id; } 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; } }
package hotel; /* * 酒店的VIP服務 * 廚師和服務員 */ public interface VIP { public abstract void services(); }
package hotel; /* * 廚師類 * 繼承員工類,實現VIP介面 */ public class Chef extends Employee implements VIP { public Chef() { super(); } public Chef(String name, String id) { super(name, id); } public void work() { System.out.println("廚師在炒菜"); } public void services() { System.out.println("為VIP做精緻的菜"); } }
package hotel; /* * 服務員類: * 繼承員工類,實現VIP介面 */ public class Waiter extends Employee implements VIP { public Waiter() { super(); } public Waiter(String name, String id) { super(name, id); } public void work() { System.out.println("服務員在上菜"); } public void services() { System.out.println("服務員為VIP特殊服務"); } }
package hotel; /* * 定義經理類: * 繼承員工類,沒有VIP功能 * 自己有獎金屬性 */ public class Manager extends Employee { public Manager() { super(); } public Manager(String name, String id, double money) { super(name, id); this.money = money; } private double money; public void work() { System.out.println("經理在管理酒店"); } }
package hotel; import javax.swing.text.ChangedCharSetException; public class Test { public static void main(String[] args) { //創建一個經理,兩個服務員,兩個廚師 Manager m1 = new Manager("張三","經理001",6666.66); m1.work(); Waiter w1 = new Waiter("小明", "服務員001"); Waiter w2 = new Waiter("小紅", "服務員002"); w1.work(); w1.services(); w2.work(); w2.services(); Chef c1 = new Chef("李四","廚師001"); Chef c2 = new Chef("王五","廚師002"); c1.work(); c1.services(); c2.work(); c2.services(); } } /* 輸出: 經理在管理酒店 服務員在上菜 服務員為VIP特殊服務 服務員在上菜 服務員為VIP特殊服務 廚師在炒菜 為VIP做精緻的菜 廚師在炒菜 為VIP做精緻的菜 */