欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

prototype原型模式

程序员文章站 2022-06-12 22:24:08
...

    prototype原型模式,简单明了的讲是,克隆并复用原型对象模式。
    当客户机需要创建对象集时,其中对象是相似的,或仅在状态方面有所不同,并且创建此类对象将花费很多的时间,所涉及的处理也较多。比如,通过复制具有类似结构代码,并进行修改,来创建一个新的实例,这时可以考虑采用原型模式,这样就不必通过复制修改代码来实现新的实例,只要克隆一下另一个实例,通过修改相应的属性的值来到达你的目的。
    克隆有浅克隆和深克隆。

class Person implements Cloneable {
  private String name;
  public String getName() {
    return name;
  }
  public void setName(String s) {
    name = s;
  }
  public Person(String s) {
    name = s;
  }
  public Object clone() {
    Person p = new Person(name);//深克隆
    return p;
    /*try {//浅克隆
      return super.clone();
    } catch (CloneNotSupportedException e) {
      return null;
    }*/
  }
}
public class CopyTest {
  public static void main(String[] args) {
    Person p = new Person("A");
    System.out.println(p.getName());
    Person q = (Person) p.clone();
    System.out.println(q.getName());
    q.setName("B");
    System.out.println(q.getName());
    System.out.println(p.getName());
  }
}