这周,我也毕业了,在找工作,把以前学的不是很熟悉的也复习了一遍.发现班上挺多人对工厂模式不是很熟悉,
跟他们解释了一下,也顺便跑来发下自己的理解,大神勿喷,不足之处可以点出来,我会虚心接受.
首先:工厂模式,见名知意,就是一个工厂生产东西,而它生产的不是实物,而是对象,它负责把大量有共同接口的类实例化,而不需要我们自己去手动实例化这个类.它定义一个用于创建对象的接口,由子类决定实例化哪一个类.
下面是简单工厂模式的代码,可能有不足之处
public class Test{
1,定义一个共同接口,
interface Car {
public void run();
}
2,写两个类,实现接口
class Bwm implements Car{
public void run(){
System.out.println("宝马");
}
}
class Benz implements Car{
public void run(){
System.out.println("奔驰");
}
}
3,写一个单例模式的工厂
class CarFactory{
private static CarFactory factory = new CarFactory();
private CarFactory(){}
public static CarFactory a(){
return factory;
}
public Car createCar(String str){
if("奔驰".equals(str)){
return new Benz();
}else{
return new Bwm();
}
}
}
4,在main方法中测试
public static void main(String[] args) {
CarFactory carFactory = CarFactory.getcar();
carFactory.createCar("奔驰").run();
}
}
我也是刚学完java不久,写得不好,让各位见笑了![](http://tb2.bdstatic.com/tb/editor/images/face/i_f28.png?t=20140803)
跟他们解释了一下,也顺便跑来发下自己的理解,大神勿喷,不足之处可以点出来,我会虚心接受.
首先:工厂模式,见名知意,就是一个工厂生产东西,而它生产的不是实物,而是对象,它负责把大量有共同接口的类实例化,而不需要我们自己去手动实例化这个类.它定义一个用于创建对象的接口,由子类决定实例化哪一个类.
下面是简单工厂模式的代码,可能有不足之处
public class Test{
1,定义一个共同接口,
interface Car {
public void run();
}
2,写两个类,实现接口
class Bwm implements Car{
public void run(){
System.out.println("宝马");
}
}
class Benz implements Car{
public void run(){
System.out.println("奔驰");
}
}
3,写一个单例模式的工厂
class CarFactory{
private static CarFactory factory = new CarFactory();
private CarFactory(){}
public static CarFactory a(){
return factory;
}
public Car createCar(String str){
if("奔驰".equals(str)){
return new Benz();
}else{
return new Bwm();
}
}
}
4,在main方法中测试
public static void main(String[] args) {
CarFactory carFactory = CarFactory.getcar();
carFactory.createCar("奔驰").run();
}
}
我也是刚学完java不久,写得不好,让各位见笑了
![](http://tb2.bdstatic.com/tb/editor/images/face/i_f28.png?t=20140803)