首页 > 其他分享 >每日随笔——抽象工厂模式

每日随笔——抽象工厂模式

时间:2023-11-09 09:22:25浏览次数:43  
标签:play Woman package 每日 抽象 sc4 随笔 public Man

[实验任务一]:人与肤色

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

 

实验要求:

1.画出对应的类图;

2.提交源代码;

3.注意编程规范。

1、类图

 

2、  源码

BlackFactory

package sc4; public class BlackFactory implements MWFactory { public static Man produceMan() { return new BlackSkinMan(); } public static Woman produceWomen() { return new BlackSkinWomen(); } } BlackSkinMan

package sc4; public class BlackSkinMan implements Man { public void play() { System.out.println("我是黑种男人!"); } } BlackSkinWomen

package sc4; public class BlackSkinWomen implements Woman { public void play() { System.out.println("我是黑种女人!"); } } client

package sc4; import java.util.Scanner; public class Client { public static void main(String args[]) { Man m; Woman w; Scanner x = new Scanner(System.in); int n = 0; System.out.println("请选择肤色 1.黑色,2、白色,3、黄色"); if (x.hasNextInt()) { n = x.nextInt(); } else { System.out.println("输入的不是整数,请重新输入:"); } switch (n) { case 1: { m = BlackFactory.produceMan(); m.play(); w = BlackFactory.produceWomen(); w.play(); break; } case 2: { m = WhiteFactory.produceMan(); m.play(); w = WhiteFactory.produceWomen(); w.play(); break; } case 3: { m = YellowFactory.produceMan(); m.play(); w = YellowFactory.produceWomen(); w.play(); break; } } } } Man

package sc4; public interface Man { public void play(); } MWFactory

package sc4; public interface MWFactory { public static Man produceMan() { return null; } public static Woman produceWomen() { return null; } } WhiteFactory

package sc4; public class WhiteFactory implements MWFactory { public static Man produceMan() { return new WhiteSkinMan(); } public static Woman produceWomen() { return new WhiteSkinWomen(); } } WhiteSkinMan

package sc4; public class WhiteSkinMan implements Man{ public void play() { System.out.println("我是白种男人!"); } } WhiteSkinWomen

package sc4; public class WhiteSkinWomen implements Woman{ public void play() { System.out.println("我是白种女人!"); } } Woman

package sc4; public interface Woman { public void play(); }
YellowFactory

package sc4; public class YellowFactory { public static Man produceMan() { return new YellowSkinMan(); } public static Woman produceWomen() { return new YellowSkinWomen(); } } yellowSkinMan

package sc4; public class YellowSkinMan implements Man{ public void play() { System.out.println("我是黄种男人!"); } }
yellowSkinWomen package sc4; public class YellowSkinWomen implements Woman{ public void play() { System.out.println("我是黄种女人!"); } }

 

标签:play,Woman,package,每日,抽象,sc4,随笔,public,Man
From: https://www.cnblogs.com/jiacheng-712/p/17815796.html

相关文章

  • 每日总结之设计模式:组合模式
    一、什么是组合模式组合模式也成为整体部分模式,是一种结构型设计模式。它将对象组合成树形的层次结构,用来表示“整体-部分”的关系。通过组合模式,我们可以使用相同的方式处理单个对象和多个对象组合。二、角色组成组件(Component):定义组合模式中所有对象共有的方法和属性。叶......
  • 每日总结
    今日收获赶了赶数据库实验报告的进度;复习了英语六级相关内容;准备周六的比赛;好吧,还收获了许多的BUG~明天预计希望课程顺利一些;完成软件设计实验报告;继续写数据库实验报告;......
  • 每日总结20231108
    代码时间(包括上课)6h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周三,上午上的是软件构造,讲的是交互和测试,具体的交互内容包括和测试的方式包括。2、今天下午参加了一个电气院的用电安全知识竞赛。3、今天晚上打算复习复习数学,毕竟马上要考研。......
  • 11.8每日总结
    今天看公众号,有大神分析了这样的一篇文章:一键生成前端UI,公司90%项目UI都靠它搞定地址:https://mp.weixin.qq.com/s/UhmLwVeZ0jwZORur8XD2MQ并且关注了GPT最新的发布会,好慌张,GPT这是要告诉所有研发大模型的都不要研发了,用他的接口就可以了。......
  • 11月8每日打卡
    实验1熟悉常用的Linux操作和Hadoop操作1.实验目的Hadoop运行在Linux系统上,因此,需要学习实践一些常用的Linux命令。本实验旨在熟悉常用的Linux操作和Hadoop操作,为顺利开展后续其他实验奠定基础。2.实验平台(1)操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04);(2)Hadoop版本:3.1.3。3.......
  • 【每日例题】蓝桥杯 c++ 绘制表格
    绘制表格题目蓝桥杯绘制表格题目分析阅读题目,我们可以将表格分为四个部分,头、中间的竖线部分与横线部分、尾。因此,我们可以启用多个for循环分别解决在第一行,我们也可以分为三个部分,第一部分符号为:“┌”,第二部分的中间部分使用for循环输入:“─┬”,第三部分符号为:“─┐”......
  • 每日博客,
    根据是否运行待测程序,软件测试分为 动态测试和静态测试界面设计的目的是合理地组织并呈现一组功能交互设计的原则包括:健壮性学习性灵活性软件集成需要考虑 集成技术.集成策略.集成内容交互设计基本过程包括:.构建交互式原型.评估设计.表示需要、建立需求.设计及重新设......
  • 每日总结27
    软件设计                 石家庄铁道大学信息学院 实验8:适配器模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解适配器模式的动机,掌握该模式的结构;2、能够利用适配器模式解决实际问题。 [实验任务一]:双向适配器实现一个双向适配器......
  • 每日总结28
    软件设计                 石家庄铁道大学信息学院 实验9:桥接模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解桥接模式的动机,掌握该模式的结构;2、能够利用桥接模式解决实际问题。 [实验任务一]:两个维度的桥接模式用桥接模式实现在......
  • C++基础随笔记录
    函数-值传递函数调用时,实参传递给形参。值传递时,形参改变,不会改变实参函数-4种形式无参无返有参无返无参有返有参有返函数-声明作用:告诉编译器函数名称以及如何调用函数。函数的主体可以单独定义。函数可以多次被声明,但是函数的定义只有一......