原型模式类图与代码

现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。
采用原型模式(Prototype)来实现上述要求,得到如图 7.25 所示的类图。

原型模型是一种对象创建模型,用原型实体指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模型允许一个对象再创建另一个可定制的对象,无须知道任何创建的细节。

【Java代码】

public class WorkExperience implements Cloneable{//工作经历private String workDate;private String company;public Object clone {WorkExperience Obj = new WorkExperience();Obj.workDate = this.workDate;Obj.company = this.company;return Obj;}//其余代码省略
}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){this.work = (WorkExperience)work.clone();}public void SetPersonInfo(String sex,String age){/*实现省略*/}public void SetWorkExperience(String workDate,String company){/*实现省略*/}public Object clone(){Resume Obj = new Resume(this.work);return Obj;}
}Class WorkResume{public static void main(){Resume a = new Resume("张三");a.SetPersonInfo("男","29");a.SetWorkExperience("1998-2000","XXX公司");Resume b = (Resume)a.clone();b.SetWorkExperience("2001-2006","YYY公司");}
}

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

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

相关文章

达梦数据库连接失败:Connect Failure! “Encryption module failed to load“

初次安装达梦数据库:V7 QT5.12.12版本开发调用数据库,最基础的原型调用: { //执行查询语句或则执行sql语句 QSqlDatabase qDb; QSqlDatabase db QSqlDatabase::addDatabase("QDM"); db.setHostName("192.168.2…

PX4 路径规划 航点规划 轨迹跟踪 Matlab/Simulink

一、无人机轨迹算法和仿真 matlab下载和安装 PX4实战之旅_超维空间科技的博客-CSDN博客 查了很多资料。无人机二次开发设计的目标是实现喷涂路径程序设计。决定使用simulink在ubuntu系统上结合jmavsim进行算法设计和仿真。 1.如果安装在ubuntu系统上面,MATLAB占…

基于单片机的直流电机检测与控制系统

摘要: 文章设计一款流电机控制系统,以 STC89C51 作为直流电机控制系统的主控制器,采用 LM293 做为驱动器实现 对直流电机的驱动,采用霍尔实现对直流电机速度的检测;本文对直流电机控制系统功能分析,选择确…

工业中常见大数据技术组件

随着大数据技术在各行各业的广泛应用,数据产品经理的角色也变得越来越重要。了解常见的大数据技术组件对于数据产品经理来说至关重要,因为这有助于他们更好地设计产品架构和功能模块,满足数据处理和分析的需求。在处理海量数据的产品中&#…

计算机视觉——OpenCV实现Lucas-Kanade 光流追踪

1.光流 光流法是计算机视觉中用于估计图像序列中物体运动的关键技术。它类似于观察夜空中的彗星,通过其在天空中的运动轨迹来追踪它的路径。在图像处理中,光流帮助我们理解像素点如何在连续的帧之间移动。 1.1 稀疏光流法 稀疏光流法关注于图像中的关…

OpenCV 入门(二)—— 车牌定位

OpenCV 入门系列: OpenCV 入门(一)—— OpenCV 基础 OpenCV 入门(二)—— 车牌定位 OpenCV 入门(三)—— 车牌筛选 OpenCV 入门(四)—— 车牌号识别 OpenCV 入门&#xf…

HCIP综合实验

1.拓扑 2.需求分析 1、R4为ISP,其上只能配置IP地址;R4与其他所有直连设备间均使用公有IP。 2、R3、R5、R6、R7为MGRE环境,R3为中心站点。 3、整个OSPF环境IP地址基于172.16.0.0/16划分。 4、减少LSA的更新量,加快收敛&#xf…

antd vue pro (vue 2.x) 多页签详细操作

antd vue pro 多页签配置操作,具体操作如下。 1.引入 tagviews文件 在 store/modules 中创建 tagviews.js ,复制一下代码到文件中保存 const state {visitedViews: [],cachedViews: [] }const mutations {ADD_VISITED_VIEW: (state, view) > {if …

ctfshow web入门 php反序列化 web267--web270

web267 查看源代码发现这三个页面 然后发现登录页面直接admin/admin登录成功 然后看到了 ///backdoor/shell unserialize(base64_decode($_GET[code]))EXP <?php namespace yii\rest{class IndexAction{public $checkAccess;public $id;public function __construct(){…

针对头疼的UDP攻击如何定制有效的防护措施

分布式拒绝服务攻击&#xff08;Distributed Denial of Service&#xff09;简称DDoS&#xff0c;亦称为阻断攻击或洪水攻击&#xff0c;是目前互联网最常见的一种攻击形式。DDoS攻击通常通过来自大量受感染的计算机&#xff08;即僵尸网络&#xff09;的流量&#xff0c;对目标…

选型前必看,西门子五大系列PLC的区别及特点

西门子是全球知名的自动化解决方案提供商&#xff0c;其PLC&#xff08;可编程逻辑控制器&#xff09;系列产品广泛应用于工业控制领域。不同系列的PLC在功能、性能和适用范围上有所区别。本文将详细介绍西门子PLC各个系列的特点和区别&#xff0c;以及在实践应用时如何采用无线…

Android 逆向

一、apk 查壳工具 ApkScan-PKID 相关APK文件可以在 豌豆荚 官网下载 ApkScan-PKID查壳工具 下载 - 简书 (jianshu.com) 二、脱壳工具&#xff1a;frida 1、Android端配置 frida-server&#xff1a; 该步骤需要使用到 adb&#xff0c;操作Android文件 Releases frida/frid…