实现:
源码如下:
import cat_dog_factory.Factory;
public class test {
public static void main(String[] args) {
SqlServerFactory sqlServerFactory = new SqlServerFactory();
sqlServerFactory.createDepartment().dep_Name();
AccessFactory accessFactory = new AccessFactory();
accessFactory.createDepartment().dep_Name();
}
}
//创建部门的抽象类
interface Department {
void dep_Name();
}
//创建SqlServerDepartment
class SqlServerDepartment implements Department {
@Override
public void dep_Name() {
System.out.println("这是一个sqlserver!");
}
}
//创建AccessDepartment
class AccessDepartment implements Department {
@Override
public void dep_Name() {
System.out.println("这是一个access!");
}
}
//创建IFactory接口
interface IFactory {
Department createDepartment(); //创建factory的方法
}
//创建SqlServer的工厂
class SqlServerFactory implements IFactory {
@Override
public Department createDepartment() {
return new SqlServerDepartment();
}
}
//创建Access的工厂
class AccessFactory implements IFactory {
@Override
public Department createDepartment() {
return new AccessDepartment();
}
}
运行结果如下:
部分内容转载自:https://www.runoob.com/design-pattern/abstract-factory-pattern.html