软件设计 石家庄铁道大学信息学院
实验4:抽象工厂模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解抽象工厂模式的动机,掌握该模式的结构;
2、能够利用抽象工厂模式解决实际问题。
[实验任务一]:人与肤色
使用抽象工厂模式,完成下述产品等级结构:
实验要求:
1.画出对应的类图;
2.提交源代码;
3.注意编程规范。
1.AbstractFactory.java
package org.example;
public interface AbstractFactory {
public Man produceMan();
public Woman produceWoman();
}
2.BlackFactory.java
package org.example;
public class BlackFactory implements AbstractFactory{
public Man produceMan()
{
return new BlackMan();
}
public Woman produceWoman()
{
return new BlackWoman();
}
}
3.BlackMan.java
package org.example;
public class BlackMan implements Man{
public void show()
{
System.out.println("这是一个黑皮肤的男人");
}
}
4.BlackWoman.java
package org.example;
public class BlackWoman implements Woman {
public void show()
{
System.out.println("这是一个黑皮肤的女人");
}
}
5.Man.java
package org.example;
public interface Man {
public void show();
}
6.WhiteFactory.java
package org.example;
public class WhiteFactory implements AbstractFactory{
public Man produceMan()
{
return new WhiteMan();
}
public Woman produceWoman()
{
return new WhiteWoman();
}
}
7.WhiteMan.java
package org.example;
public class WhiteMan implements Man{
public void show()
{
System.out.println("这是一个白皮肤的男人");
}
}
8.WhiteWoman.java
package org.example;
public class WhiteWoman implements Woman {
public void show()
{
System.out.println("这是一个白皮肤的女人");
}
}
9.Woman.java
package org.example;
public interface Woman {
public void show();
}
10.YellowFactory.java
package org.example;
public class YellowFactory implements AbstractFactory{
public Man produceMan()
{
return new YellowMan();
}
public Woman produceWoman()
{
return new YellowWoman();
}
}
11.YellowMan.java
package org.example;
public class YellowMan implements Man{
public void show()
{
System.out.println("这是一个黄皮肤的男人");
}
}
12.YellowWoman.java
package org.example;
public class YellowWoman implements Woman {
public void show()
{
System.out.println("这是一个黄皮肤的女人");
}
}