实验4:抽象工厂模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解抽象工厂模式的动机,掌握该模式的结构;
2、能够利用抽象工厂模式解决实际问题。
[实验任务一]:人与肤色
使用抽象工厂模式,完成下述产品等级结构:
实验要求:
1.画出对应的类图;
2.提交源代码;
3.注意编程规范。
// 抽象产品类
abstract class Product {
public abstract void create();
}
// 具体产品类
class Yellow extends Product {
public void create() {
System.out.println("Creating a yellow product.");
}
}
class Black extends Product {
public void create() {
System.out.println("Creating a black product.");
}
}
class White extends Product {
public void create() {
System.out.println("Creating a white product.");
}
}
// 抽象工厂接口
interface AbstractFactory {
Product createProduct();
}
// 具体工厂类
class FactoryForFemale implements AbstractFactory {
public Product createProduct() {
return new Yellow(); // 假设女性工厂创建黄色产品
}
}
class FactoryForMale implements AbstractFactory {
public Product createProduct() {
return new Black(); // 假设男性工厂创建黑色产品
}
}
// 客户端代码
public class Client {
public static void main(String[] args) {
AbstractFactory femaleFactory = new FactoryForFemale();
Product femaleProduct = femaleFactory.createProduct();
femaleProduct.create();
AbstractFactory maleFactory = new FactoryForMale();
Product maleProduct = maleFactory.createProduct();
maleProduct.create();
}
}