我会每天跟更新一种设计模式!大家一起探讨学习
工厂模式大致分为三大类,我们先从创造型模式学起,创造型模式,总共五种,第一种就是“工厂模式”
工厂模式,又叫静态工厂方法模式,通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
//先定义一个接口,定义接口就要想到多态
public interface Anima {
void eat();
}
//--------------两个子类-------------------
public class Cat implements Anima {
@Override
public void eat() {
System.out.println("吃鱼");
}
}
public class Dog implements Anima {
@Override
public void eat() {
System.out.println("骨头");
}
}
//------------------创建工厂类-------------------------
public class AnimaFactory {
public static Anima getAnima(String type) throws ClassNotFoundException, InstantiationException, IllegalAccessException{
//利用反射创建类的实例
Class<?> clazz = Class.forName(type);
return (Anima) clazz.newInstance();
}
}
//-------------------------测试代码--------------------------------
public class FactoryTest {
public static void main(String[] args) {
try {
Anima mCat = AnimaFactory.getAnima(Cat.class.getName());
Anima mDog = AnimaFactory.getAnima(Dog.class.getName());
mCat.eat();
mDog.eat();
}catch(Exception e) {
e.printStackTrace();
}
}
}
是不是很easy!如果有不懂的可以问我,明日期待下一个,创造性模式“抽象工厂模式”
|
|