设计模式上机实验4原型模式实验.doc_第1页
设计模式上机实验4原型模式实验.doc_第2页
设计模式上机实验4原型模式实验.doc_第3页
设计模式上机实验4原型模式实验.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

青 岛 理 工 大 学课程实验报告课程名称软件设计与体系结构班级软件132实验日期2015.05.09姓名孙玉东学号201307217实验成绩实验名称原型模式实验实验目的及要求1. 熟悉原型模式的核心思想。2. 掌握原型模式的各种实现方法;3. 比较深复制和浅复制特点及其实现方式。实验环境Win7, eclipse实验内容1. 利用原型模式实现模拟实现个人简历的复制投放(1)设计个人简历类;简历包括:姓名,性别,年龄,工作经历等;工作经历包括:工作单位,进入时间,离开时间,职位等;(2) 利用Memberwise实现浅复制;(3)自己写克隆方法实现深复制。2. 利用序列化/反序列化实现深复制(1)实现深复制;(2)比较上述各种方法的区别。算法描述及实验步骤方式一:方式二:自己写方法实现深克隆 方式三:序列化反序列化方式实现克隆调试过程及实验结果方式一:方式二:方式三:总结 1.实现原型模式可以有多种方式。 2.实现浅克隆可以实现Cloneable接口,并重写clone方法,内部可以调用父类的实现创建克隆对像。 3.实现深克隆要求所有类都要实现clone方法。 4.序列化方式实现深克隆,所有类必须实现Seializable接口,因为涉及到io操作,该方法效率不是太高。附录代码:public Resume clone() Resume o = null; try o = (Resume) super.clone(); /实现浅克隆 catch (CloneNotSupportedException e) e.printStackTrace(); return o; public Resume clone2()Resume resume=new Resume();resume.age=this.age;=;resume.sex=this.sex;resume.work=this.work.clone();return resume;SuppressWarnings(resource)public Resume clone3()Resume resume=null;try OutputStream out = new FileOutputStream(new File(clone.txt);ObjectOutputStream objectOutputStream=new ObjectOutputStream(out);objectOutputStream.writeObject(this);InputStream in=new FileInputStream(new File(clone.txt);ObjectInputStream objectInputStream=new ObjectInputStream(in);resume=(Resume) objectInputStream.readObject(); catch (Exception e) e.printStackTrace();resume=null;return resume;package pertype;public class Main public static void main(String arg0)WorkExperience work=new WorkExperience();work.setDepart(人事部门);Resume resume=new Resume();resume.setName(张三);resume.setAge(10);resume.setWork(work);Resume resumeClone=resume.clone3();System.out.println(resumeClone.getAge()=resume.getAge() :+(resumeClone.getAge()=resume.getAge();System.out.println(resumeClone.getName()=resume.getName() :+(resumeClone.getName()=resume.getName();System.out.println(resumeClone.getWork()=resume.getWork() :+(resumeClone.getWork()=resume.getWork();System.out.println(resumeClone.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论