今日报告

实验4:抽象工厂模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解抽象工厂模式的动机,掌握该模式的结构;

2、能够利用抽象工厂模式解决实际问题

使用抽象工厂模式,完成下述产品等级结

 

 

类图

 代码:

AbstractFactory.java
public interface AbstractFactory {
    public Man produceMan();
    public Woman produceWoman();
}
BlackFactory.java
复制代码
public class BlackFactory implements AbstractFactory{
    public Man produceMan()
    {
        return new BlackMan();
    }
    public Woman produceWoman()
    {
        return new BlackWoman();
    }
}
复制代码
BlackMan.java
public class BlackMan implements Man{
    public void show()
    {
        System.out.println("黑皮肤的男性");
    }
}
BlackWoman.java
public class BlackWoman implements Woman {
    public void show()
    {
        System.out.println("黑皮肤的女性");
    }
}
main.java
复制代码
public class main {
    public static void main(String args[])
    {
        try
        {
            AbstractFactory fac;
            Man m;
            Woman w;
            fac=new WhiteFactory();
            m=fac.produceMan();
            m.show();
            w=fac.produceWoman();
            w.show();
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
    }
}
复制代码
Man.java
public interface Man {
    public void show();
}
WhiteFactory.java
复制代码
public class WhiteFactory implements AbstractFactory{
    public Man produceMan()
    {
        return new WhiteMan();
    }
    public Woman produceWoman()
    {
        return new WhiteWoman();
    }
}
复制代码
WhiteMan.java
public class WhiteMan implements Man{
    public void show()
    {
        System.out.println("白皮肤的男性");
    }
}
WhiteWoman.java
public class WhiteWoman implements Woman {
    public void show()
    {
        System.out.println("白皮肤的女性");
    }
}
Woman.java
public interface Woman {
    public void show();
}
YellowFactory.java
复制代码
public class YellowFactory implements AbstractFactory{
    public Man produceMan()
    {
        return new YellowMan();
    }
    public Woman produceWoman()
    {
        return new YellowWoman();
    }
}
复制代码
YellowMan.java
public class YellowMan implements Man{
    public void show()
    {
        System.out.println("黄皮肤的男性");
    }
}
YellowWoman.java
public class YellowWoman implements Woman {
    public void show()
    {
        System.out.println("黄皮肤的女性");
    }
}

运行截图

 

 

 

详情https://www.cnblogs.com/15132949hao/p/16372839.html

 

posted @   周+⑦  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示