制定一個標準,讓別人去實現或者說知足它!ide
Eg:it
interface USB{//定義USB標準class
void useUSB();//USB有使用USB的行爲方法
}im
簡單工廠模式總結
構建一個工廠出來,在裏面進行生產,用的時候直接拿static
個人總結:di
好處:屏蔽不一樣子類實現的差別,提升代碼的可拓展性和可維護性;view
package reviewDemo;vi
//簡單工廠模式
interface Phone{//制定標準,都要實現send()方法
public void send();
}
class Iphone implements Phone{
@Override
public void send() {
System.out.println("Iphone手機在發短信");
}
}
class AndroidPhone implements Phone{
@Override
public void send() {
System.out.println("AndroidPhone手機在發短信");
}
}
class MyPhone implements Phone{
@Override
public void send() {
System.out.println("MyPhone手機在發短信");
}
}
class Factory{
public static void show(String type){//傳入參數,根據不一樣的類型個性化定製
if(type.equals("")){//爲空的狀況,不用往下執行
System.out.println("對不起,類型爲空!,請從新輸入!");
return;
}
Phone p = null;
if("Iphone".equals(type)){//判斷類型
p = new Iphone();
}else if("AndroidPhone".equals(type)){
p = new AndroidPhone();
}else{
p = new MyPhone();
}
p.send();
}
}
public class FactoryDemo17 {
public static void main(String[] args) {
new Factory().show("Iphone");//調用方法
new Factory().show("AndroidPhone");
new Factory().show("MyPhone");
new Factory().show("YourPhone");
new Factory().show("");
}
}
輸出:
Iphone手機在發短信
AndroidPhone手機在發短信
MyPhone手機在發短信
MyPhone手機在發短信
對不起,類型爲空!