软件设计 石家庄铁道大学信息学院

实验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("这是一个黄皮肤的女人");
}
}

posted on 2024-10-15 17:19  许七安gyg  阅读(3)  评论(0编辑  收藏  举报
$(document).ready(function() { // 禁止右键 $(document).bind("contextmenu", function(){return false;}); // 禁止选择 $(document).bind("selectstart", function(){return false;}); // 禁止Ctrl+C 和Ctrl+A $(document).keydown(function(event) { if ((event.ctrlKey&&event.which==67) || (event.ctrlKey&&event.which==86)) { //alert("对不起,版权所有,禁止复制"); return false; } }); });