黑马程序员技术交流社区
标题:
23种设计模式之---工厂模式
[打印本页]
作者:
小麦芽
时间:
2017-4-1 00:40
标题:
23种设计模式之---工厂模式
我会每天跟更新一种设计模式!大家一起探讨学习
工厂模式大致分为三大类,我们先从创造型模式学起,创造型模式,总共五种,第一种就是“工厂模式”
工厂模式,又叫静态工厂方法模式,通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
//先定义一个接口,定义接口就要想到多态
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!如果有不懂的可以问我,明日期待下一个,创造性模式“抽象工厂模式”
作者:
雪飞舞舞
时间:
2017-4-1 07:06
学习了
作者:
ApePlanet
时间:
2017-4-1 07:11
期待明天的更新
作者:
烟雨清寒时
时间:
2017-4-1 07:44
厉害了,楼主加油,每天都更新,让大家一块学习学习
作者:
小麦芽
时间:
2017-4-1 08:47
雪飞舞舞 发表于 2017-4-1 07:06
学习了
你们的支持,是我写下去的动力
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2