设计模式--原型模式

xiaoxiao2021-02-28  111

1 原型模式通过克隆对象,减少系统开销,要克隆的对象必须要继承Cloneable接口,否者会报错。 自定义一个克隆操作接口:

public interface ICloneable { public Object Clone(); }

实体类:

package com.tang.design.clone; public class Resume implements Cloneable,ICloneable{ private String name; private Integer age; public Resume(String name, Integer age) { this.name = name; this.age = age; } @Override public Object Clone() { // TODO Auto-generated method stub Object obj=null; try { obj=(Object)this.clone(); } catch (CloneNotSupportedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return obj; } public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public void display(){ System.out.println("name:"+name+" age:"+age); } }

测试:

public class TextMain { public static void main(String[] args){ Resume resume=new Resume("张三", 1); Resume resume2=(Resume)resume.Clone(); resume2.setName("李四"); Resume resume3=(Resume)resume2.Clone(); resume3.setAge(2); resume.display(); resume2.display(); resume3.display(); } }

通过克隆模式,创建重复的对象时通过克隆,不仅减少重复的属性设置,还减少系统开销。 参考书籍:《大话设计模式》

转载请注明原文地址: https://www.6miu.com/read-55065.html

最新回复(0)