首页 > 其他分享 >11.9

11.9

时间:2024-11-05 14:22:47浏览次数:2  
标签:Woman 11.9 void Person speak public Man

[实验任务一]:女娲造人
使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。
实验要求:

  1. 画出对应的类图;

  2. 提交源代码;

  3. package uml;

// Person接口
interface Person {
void speak();
}

// Man类,实现Person接口
class Man implements Person {
@Override
public void speak() {
System.out.println("我是男孩");
}
}

// Woman类,实现Person接口
class Woman implements Person {
@Override
public void speak() {
System.out.println("我是女孩");
}
}

// Robot类,实现Person接口
class Robot implements Person {
@Override
public void speak() {
System.out.println("我是机器人");
}
}

// 女娲类 (简单工厂类)
class Nvwa {
public static Person createPerson(String type) {
switch (type.toUpperCase()) {
case "M":
return new Man();
case "W":
return new Woman();
case "R":
return new Robot();
default:
throw new IllegalArgumentException("无此类型: " + type);
}
}
}

// 测试类
public class Main {
public static void main(String[] args) {
Person man = Nvwa.createPerson("M");
man.speak(); // 输出: I am a Man.

    Person woman = Nvwa.createPerson("W");
    woman.speak();  // 输出: I am a Woman.

    Person robot = Nvwa.createPerson("R");
    robot.speak();  // 输出: I am a Robot.
}

}

标签:Woman,11.9,void,Person,speak,public,Man
From: https://www.cnblogs.com/wlxdaydayup/p/18527782

相关文章

  • 2024.11.4~2024.11.9
    2024.11.4今天早上没有醒来,一抬表发现7:03了直接破防(悲上午模拟赛T1直接一个没思路,想了1h都没想出来,打了10分遗憾离场,T2直接就是死磕1h也没有丝毫思路,然后最后10分非常惨下午都在调T1,直到4点才调完,晚上情绪状态比较不稳定,但是调整的很好,还是坚持做了5到题,比较可以csp-s160分完......
  • CentOS 7.6无脑安装Python 3.11.9
    更新系统软件包:运行以下命令来更新系统上的所有软件包:sudoyumupdate-ysudoyumgroupinstall-y"DevelopmentTools"sudoyuminstall-ybzip2-develexpat-develgdbm-devel\ncurses-developenssl-develreadline-devel\sqlite-develzlib-develxz-develli......
  • TatukGIS Developer Kernel 11.91 FOR net Crack
    .NET开发人员内核TatukGIS开发人员内核(DK).NET版本是专业级托管代码.NETGIS库,可用于为多种操作系统开发专业GIS应用程序。此GISSDK版本专为以下操作系统设计和编译:.NET(又名Core ),支持:.NETStandard2.1用于开发适用于Windows、Linux和macOS的应用程序.......
  • [转载]自述WebPPD两年半的运营经历 [2012.11.9 sina blog]
    原文地址:自述WebPPD两年半的运营经历作者:尹广磊我在07年10月接触到了AxureRP,当时还是4.6英文版,学习门槛比现在的同学可是高多了。跟所有有过一定产品设计经验的人一样,我一开始是排斥这东西的。自认为过去的Visio用得不错。但是应公司要求,原型务必反映出页面间的链接关系。仅这一......
  • CentOs8 安装python3.11.9
    1、在opt目录下新建一个Python文件目录存放cd/optmkdirPython>如果显示权限不够需要用su命令进入管理员模式下载python3.11.9目前最新版本wgethttps://mirrors.huaweicloud.com/python/3.11.9/Python-3.11.9.tgz解压tgz文件tar-zxvfPython-3.11.9.tgz>个人倾向于用-......
  • docker安装rabbitmq3.11.9镜像集群
    准备3台服务器安装配置镜像集群IP1:192.168.0.1IP2:192.168.0.2IP3:192.168.0.3yuminstall-ylrzsztelnetnciftopunzipyum-utilsepel-releasesystemctlstopfirewalld.service&&systemctldisablefirewalld.serviceyum-config-manager--add-repohttp://mirrors.aliyu......
  • 大二快乐几日11.9
    索引的优缺点索引有其明显的优势,也有其不可避免的缺点。优点索引的优点如下:通过创建唯一索引可以保证数据库表中每一行数据的唯一性。可以给所有的MySQL列类型设置索引。可以大大加快数据的查询速度,这是使用索引最主要的原因。在实现数据的参考完整性方面可以加速表与表之间的连......
  • 11.9
    5、随机产生20个[45,210]范围内的正整数,实现以下功能:a)      求最大值、最小值和平均值。b)     求小于平均值的数据的个数。提示:产生随机数使用库函数:rand();下面两条语句用于系统随机生成45~210之间的整数:      srand(time(NULL));      /*初始化......
  • 11.9
    今日学习内容<%@pageimport="java.sql.*"%><%@pageimport="java.sql.DriverManager"%><%--CreatedbyIntelliJIDEA.TochangethistemplateuseFile|Settings|FileTemplates.--%><%@pagecontentType="text/htm......
  • 11.9 实现磁盘相关操作
    11.9.1遍历磁盘容量如下代码实现了在Windows系统中获取所有磁盘驱动器的信息。具体包括两个函数,一个用于获取驱动器类型,另一个用于获取驱动器空间信息。主函数则调用这两个函数来遍历所有逻辑驱动器并输出相应的信息。在输出驱动器空间信息时,会输出该驱动器的总大小、已用空间以......