制定一个标准,让别人去实现或者说知足它!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手机在发短信
对不起,类型为空!