工厂方法

来源:互联网 发布:基于mac地址的acl 编辑:程序博客网 时间:2024/05/14 15:06

public abstract class Animal {
public abstract void eat();
}

public class Cat extends Animal {

@Overridepublic void eat() {    System.out.println("猫吃鱼");}

}

public class CatFactory implements Factory {

@Overridepublic Animal createAnimal() {    return new Cat();}

}

public class Dog extends Animal {

@Overridepublic void eat() {    System.out.println("狗吃肉");}

}

public class DogFactory implements Factory {

@Overridepublic Animal createAnimal() {    return new Dog();}

}

public interface Factory {
public Animal createAnimal();
}

public class Test {

/** * @param args */public static void main(String[] args) {    DogFactory df = new DogFactory();    Dog d = (Dog) df.createAnimal();    d.eat();}

}

原创粉丝点击