创建型模式之五:原型模式
创建型模式之五:原型模式
刀狂剑痴 发表于2年前
创建型模式之五:原型模式
  • 发表于 2年前
  • 阅读 15
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

原型模式频繁用于需要相似的对象,原型模式克隆对象,并改掉其中的特征。这样消耗的资源就很少,想想为什么消耗少的资源?

原型模式类图

原型模式Java代码

package designpatterns.prototype;
 
//prototype
interface Prototype {
 void setSize(int x);
 void printSize();
 }
 
// a concrete class
class A implements Prototype, Cloneable {
 private int size;
 
 public A(int x) {
 this.size = x;
 }
 
 @Override
 public void setSize(int x) {
 this.size = x;
 }
 
 @Override
 public void printSize() {
 System.out.println("Size: " + size);
 }
 
 
 @Override
 public A clone() throws CloneNotSupportedException {
 return (A) super.clone();
 }
}
 
//when we need a large number of similar objects
public class PrototypeTest {
 public static void main(String args[]) throws CloneNotSupportedException {
 A a = new A(1);
 
 for (int i = 2; i < 10; i++) {
 Prototype temp = a.clone();
 temp.setSize(i);
 temp.printSize();
 }
 }
}

在java标准库应用 java.lang.Object - clone() 

以上文章翻译自: http://www.programcreek.com/2013/02/java-design-pattern-prototype/

共有 人打赏支持
粉丝 18
博文 111
码字总数 82582
×
刀狂剑痴
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: