原型模式类图与代码

news2024/12/29 8:49:10

现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。
采用原型模式(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.coloradmin.cn/o/1648378.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FreeRTOS任务详解

一、任务的创建与删除 1.任务的基本概念 RTOS系统的核心就是任务管理,FreeRTOS 也不例外,而且大多数学习 RTOS 系统的工程 师或者学生主要就是为了使用 RTOS 的多任务处理功能,初步上手 RTOS 系统首先必须掌握的 也是任务的创建、删除、挂起和恢复等操作,由此可见任务管理…

Tektronix泰克MSO4054混合信号示波器

泰克MSO4054混合信号示波器是一款功能强大的测量仪器,它集成了数字存储示波器和逻辑分析仪的功能,为工程师提供了全面而精确的信号分析解决方案。在今天的高速电子设备开发中,混合信号示波器已经成为不可或缺的工具,而泰克MSO4054…

集中式抄表是什么?什么叫集中式抄表?

1.集中式抄表:简述 集中式抄表是一种现代化、高效率的电力工程、水力发电或燃气计量方法,它改变了传统的人工抄表方式,完成了远程自动化数据收集。这类系统主要由中央服务器、通信系统及安装在用户端智能化表计构成,大大提高了公…

Sarcasm detection论文解析 |CAT-BiGRU

论文地址 论文地址:CAT-BiGRU: Convolution and Attention with Bi-Directional Gated Recurrent Unit for Self-Deprecating Sarcasm Detection | Cognitive Computation github:Ashraf-Kamal/Self-Deprecating-Sarcasm-Detection (github.com) 论文首页 笔记框架 …

液晶数显式液压万能试验机WES-600D技术方案书

一、简介 主机为四立柱、两丝杠、油缸下置式,拉伸空间位于主机的上方,压缩、弯曲试验空间位于主机下横梁和工作台之间。测力仪表采用高清液晶显示屏,实验数据方便直观。 二、 传动系统 下横梁升降采用电机经减速器、链传动机构、丝杠副传动…

全域团购外卖SAAS是什么?能赚钱吗?

最近,很多人都在问与全域团购外卖相关的话题,其中,全域团购外卖SAAS是什么、全域团购外卖SAAS有哪些等问题更是稳居前列。的确,对于没有接触过团购外卖或者其他本地生活服务业务的人来说,全域团购外卖SAAS乍一看确实有…

c3 笔记8 css排版技巧

相关内容:边界、边框、位置(absolute、relative、static)、overflow、z-index、超链接、鼠标光标特效、…… margin:上边界值 右边界值 下边界值 左边界值 笔记来源: ©《HTML5CSS3JavaScript网页设计》陈婉凌编&#xff…

[力扣]——387.字符串中的第一个唯一字符

. - 力扣&#xff08;LeetCode&#xff09; class Solution {public int firstUniqChar(String s) {int[] count new int[256];// 统计每个字符出现的次数for(int i 0; i < s.length(); i){count[s.charAt(i)];}// 找第一个只出现一次的字符for(int i 0; i < s.lengt…

电脑显示丢失mfc140u.dll怎么修复,总共有7个方法

mfc140u.dll 是一个动态链接库&#xff08;Dynamic Link Library&#xff09;文件&#xff0c;它是Microsoft Foundation Class (MFC)库的一部分&#xff0c;专为使用C编程语言开发Windows应用程序而设计。MFC库由微软提供&#xff0c;作为一个高级的应用程序框架&#xff0c;旨…

耕耘未来——揭秘第一产业的无限潜能

在浩瀚的科技宇宙中&#xff0c;当火星探测器的每一次着陆都能激起全球狂欢&#xff0c;当虚拟现实的浪潮让我们触碰未来&#xff0c;有一个领域&#xff0c;以其恒久不变的坚韧&#xff0c;默默地滋养着人类文明的根脉——这就是第一产业&#xff0c;那片古老而又充满生机的土…

关于YOLO8学习(六)安卓部署ncnn模型--图片检测

前文 关于YOLO8学习(一)环境搭建,官方检测模型部署到手机 关于YOLO8学习(二)数据集收集,处理 关于YOLO8学习(三)训练自定义的数据集 关于YOLO8学习(四)模型转换为ncnn 关于YOLO8学习(五)安卓部署ncnn模型–视频检测 简介 前文第五章,讲述了部署自定义模型后,进…

数字藏品app功能介绍

主要功能介绍 艺术品发售 用户可以在平台上浏览和购买各种艺术品藏品。这些藏品由平台或艺术家发布&#xff0c;并且后台可以设置不同的稀有度&#xff0c;以满足不同用户的需求和收藏喜好。 后台藏品管理 管理员在后台可以灵活地设置藏品的稀有度、价格、数量等信息。不同…

​XMall商城微信小程序前端技术解析

摘要 随着移动互联网的深入发展&#xff0c;微信小程序以其轻量级、便捷性和即用即走的特点&#xff0c;成为了众多企业和开发者关注的焦点。XMall商城微信小程序前端作为一款开源项目&#xff0c;以其精美的页面设计、丰富的功能和高效的性能&#xff0c;受到了广大开发者和用…

恒创科技「5月活动」中国香港/美国服务器配置及价格汇总

值此 5 月&#xff0c;各大云服务商的促销活动也是接连不断。近日&#xff0c;恒创科技上线了 5 月出海乐购“惠”活动&#xff0c;从 4 月 28 日开始&#xff0c;持续整个 5 月份。活动分精选云产品、主流物理服务器、DDoS 防护、免费试用等四大专区&#xff0c;包含几十款企业…

C语言例题37、输入三组数字,按照从小到大的顺序排列输出

#include<stdio.h>int main() {int num[3];printf("请输入3组数字&#xff1a;");for (int i 0; i < 3; i)scanf("%d", &num[i]);for (int i 0; i < 2; i) { //每次选出最小值放在数组前面for (int j i 1; j < 3; j) {if (num[j] …

《挑战拆解100个产品:喜马拉雅》

在数字化时代&#xff0c;娱乐形式的转变引领着人们对于音频内容的追求。作为音频平台中的佼佼者&#xff0c;“喜马拉雅”软件以其独特的产品定位、针对性的用户群体、创新的业务模式以及不断优化的产品生命周期而成为了行业的领军者。本文将从这几个方向深入分析&#xff0c;…

一站式PDF解决方案:如何部署自己的PDF全能工具(Docker部署和群晖部署教程)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 开始部署 📒📝 Docker部署📝 群晖部署📝 本地安装⚓️ 相关链接 ⚓️📖 介绍 📖 在数字化办公的今天,PDF文件几乎成了我们日常工作中不可或缺的一部分。但你是否曾因为PDF文件的编辑、转换、合并等问题而头疼?如果…

js api part5

学生信息管理系统 现在着急没看..........5.15后一定看 没css&#xff1f;c <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scal…

做安卓应用开发的我,转前端开发了

距离转前端开发已经快3个月了&#xff0c;现在自己也慢慢的熟悉了开发。 在2月份的时候。领导找我们移动小组的谈话&#xff0c;主要是关于转前端或者后端的问题。由于公司移动端的选型&#xff0c;对安卓原生的需求降低&#xff0c;问下我们转其他开发的需求。 我毫不犹豫的选…

什么是泛域名证书?与普通SSL证书有什么区别

随着互联网的发展&#xff0c;越来越多的网站开始使用SSL证书来保护用户的隐私和安全。在SSL证书中&#xff0c;泛域名SSL证书和普通域名证书是两种常见的类型。那么&#xff0c;什么是泛域名SSL证书&#xff0c;与普通域名证书有什么区别呢&#xff1f; 首先&#xff0c;我们来…