原型模式(Prototype): 用原型实例指定创建对象的种类,并且通过拷贝原型来创建新的实例对象。它允许一个对象再创建另外一个可定制的对象,根本无需知道任何创建细节,工作原理,通过将一个原型对象传给那个要发动创建的对象,这个发动创建对象通过请求原型对象拷贝它们自己来创建。
通俗点,就是通过拷贝来进行创建实例。
例如:
代码一:
public class AbstractSpoon implements Cloneable{
String spoonName;
public String getSpoonName() {
return spoonName;
}
public void setSpoonName(String spoonName) {
this.spoonName = spoonName;
}
public Object clone(){
Object object = null;
try {
object = super.clone();
System.out.println("clone is ok");
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
System.err.println("AbstractSpoon is not Cloneable");
}
return object;
}
}
代码二
public class SoupSpoon extends AbstractSpoon{
public SoupSpoon(){
setSpoonName("soup spoon");
}
public static void main(String[] args){
AbstractSpoon spoon = new SoupSpoon();
System.out.println(spoon);
AbstractSpoon spoon1 = (AbstractSpoon) spoon.clone();
System.out.println(spoon1);
AbstractSpoon spoon2 = (AbstractSpoon) spoon1.clone();
System.out.println(spoon2);
}
}
运行结果如下。
com.cn.prototype.SoupSpoon@757aef
clone is ok
com.cn.prototype.SoupSpoon@d9f9c3
clone is ok
com.cn.prototype.SoupSpoon@9cab16
从结果看,在后两次调用通过SoupSpoon的实例对象的clone(),还是创建了SoupSpoon实例.
分享到:
相关推荐
设计模式是软件开发中的一种重要概念,源自建筑领域,由Christopher Alexander提出,后被Gang of Four(GoF)在1994年的《设计模式:可复用面向对象软件的基础》一书中引入到软件工程中。设计模式是解决特定场景下...
了解这些设计模式对于提升编程能力和设计出更加优雅、可维护的代码至关重要。无论是初学者还是经验丰富的开发者,都应该深入学习和实践这些设计模式,以提高软件设计的灵活性和复用性。通过阅读《200912105635.chm》...
**原型模式(Prototype Pattern)**是软件设计模式中的结构型模式之一,主要用来简化实例化过程,减少类的创建。在原型模式中,一个对象可以被用作创建其他新对象的模板,通过复制已有对象来创建新对象,而不是通过new...
书籍的目标读者广泛,既包括已有面向对象语言经验但渴望更深入了解设计模式的开发者,也涵盖了对设计模式好奇却觉得现有文献过于晦涩的新手。通过本书的学习,读者能够快速掌握设计模式的核心思想,缩短学习曲线,...
首先,我们要了解设计模式的三大类:创建型模式、结构型模式和行为型模式。创建型模式包括单例模式、工厂模式(简单工厂、工厂方法、抽象工厂)、建造者模式和原型模式,这些模式主要关注对象的创建过程。结构型模式...
首先,我们要了解设计模式的基本分类:创建型模式、结构型模式和行为型模式。创建型模式关注对象的创建过程,如单例模式、工厂模式、抽象工厂模式、建造者模式和原型模式。这些模式提供了灵活的创建对象的方式,使得...
如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 建筑和软件中模式之异同 A. 创建模式 设计模式之 Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证...
子和类图,目的是为了让读者了解二十三种设计模式,并能方便的查阅各种设计模式的用法及注意点。 所附的例子非常简单,慢慢的引导读者从浅到深了解设计模式,并能从中享受设计的乐趣。 由于每个人对设计模式的...
策略模式是一种经典的设计模式,通过鸭子问题,可以让学习者更好地了解设计模式的概念和实现。策略模式的主要思想是定义一系列的算法,并将每一个算法封装起来,使它们可以相互替换。这样,算法独立于使用它的客户而...
首先,我们要了解设计模式的基本分类。设计模式通常分为三大类:创建型模式、结构型模式和行为型模式。创建型模式关注对象的创建过程,如工厂模式、抽象工厂模式、单例模式、建造者模式和原型模式。结构型模式则关注...
- 理论讲解:采用PPT投影,让学生了解设计模式的基础理论和结构。 - 实训掌握:通过编写程序和实验,加深学生对设计模式实践应用的理解和熟练度。 6. 教学手段 - 使用多媒体教学手段,例如PPT投影,增强教学效果...
**原型设计模式(Prototype Pattern)**是一种创建型设计模式,它允许我们通过复制现有的对象来创建新对象,而不是通过构造函数来实例化新对象。在面向对象编程中,当我们需要频繁地创建具有相同或相似属性的对象时,...
”了解设计模式意味着理解面向对象分析与设计的核心。本书通过作者的实际经验和项目应用案例,帮助读者更好地理解和掌握这些设计模式。 ##### 0.2 设计模式解析后记 本书的编写过程不仅仅是对GoF 23种设计模式的...
### BAT必备设计模式面试题详解 #### 一、引言 设计模式是在软件工程领域内被广泛采用的一种软件设计方法论。...希望本文能够帮助读者更深入地了解设计模式,并在即将到来的面试中取得优异成绩。
### 设计模式与泡MM——设计模式入门教程 #### 一、创建型模式 ##### 1、FACTORY(工厂模式) ...接下来,我们将继续探讨其他的设计模式,包括剩余的行为模式等,以便更全面地了解设计模式的应用。
对于那些渴望了解设计模式但缺乏资源的人来说,这样的分享无疑是一份宝贵的财富。而作者希望读者能通过注册新账号来下载这份资料,或许也是一种鼓励社区互动的方式。 总的来说,设计模式是软件开发中的重要工具,...
首先,我们要了解设计模式的基本概念。设计模式不是代码,而是对在软件设计中反复出现的问题以及其解决方案的一种描述。它们提供了一种标准的方法来处理常见的编程难题,使得代码更加可读、可复用和易于维护。 Java...
首先,我们要了解设计模式的三大类:创建型模式、结构型模式和行为型模式。 1. 创建型模式:这类模式主要关注对象的创建过程,降低了系统的复杂性,增加了系统的可扩展性。包括单例模式(Singleton)、工厂方法模式...