首页 > 其他分享 >10.25

10.25

时间:2024-10-23 19:33:14浏览次数:5  
标签:Woman 10.25 void Robot Person public speak

实验2:简单工厂模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解简单工厂模式的动机,掌握该模式的结构;
2、能够利用简单工厂模式解决实际问题。

[实验任务一]:女娲造人
使用简单工厂模式模拟女娲(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.
}

}

3.注意编程规范。

标签:Woman,10.25,void,Robot,Person,public,speak
From: https://www.cnblogs.com/wlxdaydayup/p/18498137

相关文章

  • 活动报名丨实时互动AI 开发者年度聚会!RTE Open Day@RTE2024,10.25/26北京
         2024年10月25日~26日,由声网和RTE开发者社区联合主办的RTE2024第十届实时互联网大会将在北京·悠唐皇冠假日酒店正式开启! 大会以「AI爱」为主题,推出覆盖实时互联网全生态的论坛及周边活动共计20余场。 RTEOpenDay携手18家展区伙伴齐聚大......
  • 10.25随笔
    特殊条件1.空值判断:isnullSelect*fromempwherecommisnull;查询emp表中comm列中的空值。2.betweenand(在之间的值)Select*fromempwheresalbetween1500and3000;查询emp表中SAL列中大于1500的小于3000的值。注意:大于等于1500且小于等于30......
  • 10.25
    今日学习内容<%--CreatedbyIntelliJIDEA.TochangethistemplateuseFile|Settings|FileTemplates.--%><%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>Title</ti......
  • 10.25日
    早八英语课,第一节课是同学的演讲展示,不过今天的两位同学占用时间比较长,熬过了一节课,第二节课讲了英语作文中对比的写法,课下要求使用对比写法写一篇作文。 ......
  • 大二快乐日记10.25
    匹配优先级Servlet虚拟路径的匹配优先级顺序为:全路径匹配(精确匹配)>目录匹配>扩展名匹配>缺省匹配(默认匹配)。Servlet容器会从优先级高的虚拟路径开始匹配,匹配成功后就会立刻将请求交给相应的Servlet进行处理,不会再关注其他虚拟路径是否匹配成功。......
  • linux10.25课堂随笔
    一.文件权限4.3.1SUID权限1.使用ll命令查看/usr/bin/passwd文件,第一行的第四个字符为“s”。“s”表示特殊权限SUID。2.普通用户可通过SUID提权,使用chmod命令给user增加SUID权限。4.3.2SGID权限1.在一个程序上添加SGID,用户在执行过程中会获得该程序用户组的权限(相当于临时......
  • 【2023最新10.25】全国建筑市场监管公共服务平台(四库一平台)js逆向
    目录js逆向思路第一步抓包第一种破解方法,堆栈法python还原js扣代码还原第二种破解方法,搜索法完整代码效果展示js逆向思路第一步看请求网址的发起程序都有哪些接在js文件搜索AES,MD5,等高频加密方式的字段1parse2decrypt3.toString()4Base645表单字段6url关键字......
  • 10.25
    Ajax在HTML文件中创建一个容器,用于展示数据。可以使用<ul>或<table>等标签来展示数据列表。使用JavaScript代码获取数据。可以使用fetch()函数或其他AJAX方法从后端API获取数据。将数据请求发送到后端的URL,并使用GET或POST方法获取数据。在JavaScript代码中,使用.then()方法处......
  • 大二打卡(10.25)
    今天做了什么:英语课,上节课的听写结果出来了,感觉大学老师就是仁慈,这份听写要是高中,早被老师抽八百遍了,感谢英语老师给个机会,下次听写应该是下下周,这次争取一手满分这次课的听力做的还不错,除了一个单词猜错意思选错了,其他的都听对了 今天遇到什么问题:建民的测试,目前搞定了链接,......
  • 23.10.25(前端页面输入框的各种操作1)
    <tr><%--限制必须输入,学号限制位数、前四位必须是2023,性别限制男或女,专业用下拉框--%><th>姓名</th><inputtype="text"name="name"required><th>学号</th><inputtype="text"name="number"requ......