項目三(2)——簡單工廠模式
阿新 • • 發佈:2017-10-11
package logs -- vol gen name factory interface public
請采用采用簡單工廠設計模式,為某個汽車銷售店設計汽車銷售系統,接口car至少有方法print(),三個汽車類:寶馬、奧迪、大眾 (屬性:品牌,價格),在測試類中根據客戶要求購買的汽車品牌,通過接口car為客戶提供相應的汽車對象。
package pro4; public class Car01 { public static void main(String[] args) { Car c1=null; c1=Factory.getInstance("Audi"); if(c1!=null){ c1.print(); } } } interface Car{ public void print(); } class Factory{ public static Car getInstance(String name){ Car c1=null; if("BMW".equals(name)){ c1=new BMW("BMW 740Li",1200000); } if("Audi".equals(name)){ c1=new Audi("Audi A8",1000000); } if("VW".equals(name)){ c1=new VW("Volkswagen Pharton",1888888); } return c1; } } class BMW implements Car{ private String name; private double money; public BMW(String name,double money){ this.setName(name); this.setMoney(money); } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getMoney() { return money; } public void setMoney(double money) { this.money = money; } public void print() { System.out.println("BMW--"+name+"的價格為"+money+"¥"); } } class Audi implements Car{ private String name; private double money; public Audi(String name,double money){ this.setName(name); this.setMoney(money); } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getMoney() { return money; } public void setMoney(double money) { this.money = money; } public void print() { System.out.println("Audi--"+name+"的價格為"+money+"¥"); } } class VW implements Car{ private String name; public VW(String name,double money){ this.setName(name); this.setMoney(money); } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getMoney() { return money; } public void setMoney(double money) { this.money = money; } private double money; public void print() { System.out.println("VW--"+name+"的價格為"+money+"¥"); } }
項目三(2)——簡單工廠模式