简单工厂模式

来源:互联网 发布:关联矩阵法案例 编辑:程序博客网 时间:2024/06/05 14:06

父类是抽象类:

public abstract class Animal {    protected int hp;    protected int speed;    public abstract void attack();    public abstract void move();}
public class Dog extends Animal{    public Dog() {        hp = 150;        speed = 20;    }    @Override    public void attack() {        System.out.println("狗攻击");    }    @Override    public void move() {        System.out.println("狗移动");    }}
public class Cat extends Animal{    public Cat() {        hp = 100;        speed = 200;    }    @Override    public void attack() {        System.out.println("猫攻击");    }    @Override    public void move() {        System.out.println("猫移动");    }}
public class AnimalFactory {    public Animal getAnimalByFactory(int type){        Animal animal = null;        switch (type) {        case 1:            animal = new Dog();            break;        case 2:            animal = new Cat();            break;        default:            System.out.println("该类型无法找到:无法创建指定类型的对象!");            break;        }        return animal;    }}
import java.util.Scanner;public class CoreJava06 {    /**     * 简单工厂模式     * @param args     */    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        System.out.println("请输入生产动物的编号:");        int type = scanner.nextInt();        AnimalFactory factory = new AnimalFactory();        Animal animal = factory.getAnimalByFactory(type);        System.out.println(animal.hp);        System.out.println(animal.speed);        animal.attack();        animal.move();    }}
1 0
原创粉丝点击