/**
* 实现简单工厂模式 把接口子类引用赋值给父类对象也是多态一种形式
*
*
* */
class apple implements Ieact {
public void eat() {
System.out.println("我要吃苹果");
}
}
class tangerine implements Ieact {
public void eat() {
System.out.println("我要吃橘子");
}
}
//定义一个接口
interface Ieact {
public abstract void eat();
}
//借用一个第三方法工具类用来操作 来判断是返回那个类
class Factory {
public static Ieact getFactory(String className) {
if (className.equals("apple")) {
return new apple();
} else if (className.equals("tangerine")) {
return new tangerine();
}
return null;
}
}
//测试工厂模式
public class MyDemo {
public static void main(String[] args) {
fun("apple");
fun("tangerine");
}
}
//写个方法 把重复代码总结在一起
public static void fun(String str) {
Ieact c = Factory.getFactory(str); //接口多态
c.eat();
}