简单工厂模式

来源:互联网 发布:使用隐藏的域名转发 编辑:程序博客网 时间:2024/06/18 07:00

所谓工厂,就是用来生产产品的地方,使用简单工厂模式的好处就是可以不用去实例化具体类,比如你有bird类,duck类,如果你要使用其中的方法,那么你就要去实例化所有的类才能去调用,这样不易于扩展。如果我们直接抽象出一个类,里面有fly、speak,walk等方法,这样做起来岂不是很方便,请看如下代码:


//这个就是简单工厂抽象类

package com.hy.simple_factory;


public abstract class Animal {


public void fly(){};

public void speak(){};

public void walk(){};
}

//具体实现类(bird类)

package com.hy.simple_factory;


public class Bird extends Animal{


@Override
public void fly() {
System.out.println("bird is fly");
}


}


//具体实现类(duck类)

package com.hy.simple_factory;


public class Duck extends Animal{


@Override
public void speak() {
System.out.println("duck is speak");
}
}


//简单工厂测试类

package com.hy.simple_factory;


public class SimpleFactoryModel {


private Animal animal = null;


public Animal test(String opration) {


if ("duck".equals(opration)) {
animal = new Duck();
animal.speak();
} else if ("bird".equals(opration)) {
animal = new Bird();
animal.fly();
}


return animal;
}
}


原创粉丝点击