设计模式-创建型-原型模式-prototype

工作经验类

public class WorkExperience implements Cloneable {private String workDate;private String company;public void setWorkDate(String workDate) {this.workDate = workDate;}public void setCompany(String company) {this.company = company;}@Overridepublic Object clone() throws CloneNotSupportedException {WorkExperience obj = new WorkExperience();obj.workDate = this.workDate;obj.company = this.company;return obj;}@Overridepublic String toString() {return "WorkExperience{" +"workDate='" + workDate + '\'' +", company='" + company + '\'' +'}';}
}

简历类

public class Resume implements Cloneable {private String name;private String sex;private String age;private WorkExperience work;public Resume(String name) {this.name = name;work = new WorkExperience();}private Resume(WorkExperience work) throws CloneNotSupportedException {this.work = (WorkExperience) work.clone();}public void setPersonInfo(String sex, String age) {this.sex = sex;this.age = age;}public void setWorkExperience(String workDate, String company) {work.setWorkDate(workDate);work.setCompany(company);}@Overridepublic Object clone() throws CloneNotSupportedException {Resume obj = new Resume(this.work);obj.name = name;obj.sex = sex;obj.age = age;return obj;}@Overridepublic String toString() {return "Resume{" +"name='" + name + '\'' +", sex='" + sex + '\'' +", age='" + age + '\'' +", work=" + work +'}';}
}

演示类

public class WorkResume {public static void main(String[] args) throws CloneNotSupportedException {Resume a = new Resume("张三");a.setPersonInfo("男","29");a.setWorkExperience("1998~2000","XXX公司");System.out.println(a);Resume b= (Resume) a.clone();b.setWorkExperience("2001~2006","YYY公司");System.out.println(b);}
}

演示结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/690096.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【gpedit.msc】组策略编辑器的安装,针对windows家庭版,没有此功能

创建一个记事本文件然后放入以下内容 echo offpushd "%~dp0"dir /b %systemroot%\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >gp.txtdir /b %systemroot%\servicing\Packages\Microsoft-Windows-GroupPolicy-…

用于视频识别的快慢网络

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读:用于视频识别的快慢网络1、文献摘要2、提出方法2.1、SlowFast模型2.2、SlowFast 提出思想 3、相关方法3.1、时空间卷积3.2、基于光…

第四百九十九回

文章目录 1. 概念介绍2. 使用方法2.1 固定样式2.2 自定义样式 3. 示例代码4. 内容总结 我们在上一章回中介绍了"GetMaterialApp组件"相关的内容,本章回中将介绍使用get显示SnackBar.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在介…

【Ubuntu 安装erlang】

apt-get 安装 apt-get install erlang或 源码安装 git clone https://github.com/erlang/otp.git cd otp git checkout maint-25 # current latest stable version ./configure make make install安装完后,验证是否成功 # 命令行输入 erl

【软考】模拟考卷错题本2024-05-11

1 设计模式- 适配器模式 基本上上述的图解已经涵盖了绝大多数主流的设计模式和其特点。理解记忆下即可,这里对下午的考题也有帮助的。 2 计算机组成原理 cpu 访问速度 这个真的是憨憨咯~看到内存就选内存,题目都没审好。这里的速度比cpu内部的要比外部的…

切换tomcat使用的jdk版本

改一下这俩地方 用这个启动时候 就可以使用对应的jdk版本了 java的classpath内容如下(换成自己的): E:\A_code\environment\tomcat\Tomcat9.0\bin\bootstrap.jar;E:\A_code\environment\tomcat\Tomcat9.0\bin\tomcat-juli.jar

【深度学习】YOLO源码中的mAP计算代码的理解笔记(大部分代码逐行+基础解释)

提示:本篇博客是在阅读了YOLO源码中的mAP计算方法的代码后加上官方解释以及自己的debug调试理解每一步是怎么操作的。由于是大部分代码进行了逐行解释,所以篇幅过长。 文章目录 前言一、输入格式处理1.1 转换公式二、init:初始化2.1 iouv2.2 …

杰理AC632N 通过写flash修改蓝牙名字

杰理修改蓝牙名字一般有他自己的一个工具的,如下图,在编译前修改 现在用写flash的方式更改: 主要看杰理CFG_BT_NAME这个宏里面的.c文件 杰理给这里的flash都定义好每个宏的信息,你需要读写就行,修改后记得重启上电才能生效.如果你要自定义数据写进去flash断电不丢失,估计就是在…

【Linux之·网络编程·TCP和UDP】

系列文章目录 文章目录 前言一、概述二、工作过程2.1 TCP协议的工作过程2.1 UDP协议的工作过程 三、帧结构3.1 TCP 总结 前言 TCP(传输控制协议)和UDP(用户数据报协议)是两种常见的网络传输协议。 在实际网络通信中,…

基于 Satchmo 实现自定义捐款模块

1、问题背景 我在 Satchmo 中构建捐款模块时遇到了一些困难。我可以自定义 Satchmo 的产品模型,但无法找到任何与捐赠相关的内容。 我知道可以创建一个捐赠虚拟产品,但据我所知,这仍然需要预先设定金额(例如 5 美元、10 美元等&…

块元素、内联元素、行内块元素

一、介绍: CSS元素划分成块元素、行内元素(内联元素)、行内块元素等多种常用类型。也就是说:在CSS中,元素根据其在页面上的布局方式被分为不同的显示类型。 背景:HTML负责定义网页的结构和内容&#xff0c…

Java的时间类

1. 日期类 1.1 第一代日期类 1) Date: 精确到毫秒,代表特定的瞬间 2) SimpleDateFormat: 格式和解析日期的类 SimpleDateFormat 格式化和解析日期的具体类。它允许进行格式化(日期-→>文本)、解析(文本->日期)和规范化. import java.text.ParseExce…