设计模式-抽象工厂(JAVA)

简介: 设计模式-抽象工厂(JAVA)

一、文件目录

二、代码

1、对象类

public interface IAnimal {
 
   default void eat(){
       System.out.println("Animal eat");
   };
}
public class Cat implements IAnimal {
 
}
public class Dog implements IAnimal {
}
public class BlackCat extends Cat{
    @Override
    public void eat() {
        System.out.println("Black Cat eat");
    }
}
public class WhiteCat extends Cat {
    @Override
    public void eat() {
        System.out.println("White Cat eat");
    }
}
public class BlackDog extends Dog{
    @Override
    public void eat() {
        System.out.println("Black Dog eat");
    }
}
public class WhiteDog extends Dog{
    @Override
    public void eat() {
        System.out.println("White Dog eat");
    }
}

2、工厂类

public interface IAnimalFactory {
    Cat createCat();
 
    Dog createDog();
}
public class BlackAnimalFactory implements IAnimalFactory {
    @Override
    public Cat createCat() {
        return new BlackCat();
    }
 
    @Override
    public Dog createDog() {
        return new BlackDog();
    }
}
public class WhiteAnimalFactory implements IAnimalFactory {
    @Override
    public Cat createCat() {
        return new WhiteCat();
    }
 
    @Override
    public Dog createDog() {
        return new WhiteDog();
    }
}

3、测试类

public class AbstractFactoryTest {
    public static void main(String[] args) {
        IAnimalFactory blackAnimalFactory = new BlackAnimalFactory();
        Cat blanckCat = blackAnimalFactory.createCat();
        Dog blanckDog = blackAnimalFactory.createDog();
        blanckCat.eat();
        blanckDog.eat();
        IAnimalFactory whiteAnimalFactory=new WhiteAnimalFactory();
        Cat whiteAnimalFactoryCat = whiteAnimalFactory.createCat();
        Dog whiteAnimalFactoryDog = whiteAnimalFactory.createDog();
        whiteAnimalFactoryCat.eat();
        whiteAnimalFactoryDog.eat();
    }
 
}
Black Cat eat
Black Dog eat
White Cat eat
White Dog eat
目录
相关文章
|
2天前
|
设计模式 SQL 安全
Java设计模式:单例模式之六种实现方式详解(二)
Java设计模式:单例模式之六种实现方式详解(二)
|
1天前
|
设计模式 算法 搜索推荐
Java设计模式之策略模式详解
Java设计模式之策略模式详解
|
1天前
|
设计模式 Java 机器人
Java设计模式之访问者模式详解
Java设计模式之访问者模式详解
|
2天前
|
设计模式 Java
Java设计模式:工厂模式之简单工厂、工厂方法、抽象工厂(三)
Java设计模式:工厂模式之简单工厂、工厂方法、抽象工厂(三)
|
2天前
|
设计模式 算法 Java
Java设计模式:核心概述(一)
Java设计模式:核心概述(一)
|
1天前
|
设计模式 缓存 Java
Java设计模式:享元模式实现高效对象共享与内存优化(十一)
Java设计模式:享元模式实现高效对象共享与内存优化(十一)
|
1天前
|
设计模式 Java 数据库
Java设计模式:桥接模式实现灵活组合,超越单一继承的设计之道(十)
Java设计模式:桥接模式实现灵活组合,超越单一继承的设计之道(十)
|
1天前
|
设计模式 Java
Java设计模式:外观模式之优雅门面(九)
Java设计模式:外观模式之优雅门面(九)
|
1天前
|
设计模式 安全 Java
Java设计模式:代理模式的静态和动态之分(八)
Java设计模式:代理模式的静态和动态之分(八)
|
1天前
|
设计模式 Java 数据库连接
【Java设计模式 - 创建型模式2】工厂模式
【Java设计模式 - 创建型模式2】工厂模式
4 0

热门文章

最新文章