`
wangchao_17915566
  • 浏览: 169502 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

了解原型模式

阅读更多

原型模式(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实例.

 

分享到:
评论

相关推荐

    简单了解设计模式ppt

    设计模式是软件开发中的一种重要概念,源自建筑领域,由Christopher Alexander提出,后被Gang of Four(GoF)在1994年的《设计模式:可复用面向对象软件的基础》一书中引入到软件工程中。设计模式是解决特定场景下...

    二十三种设计模式的详细解读 让您迅速了解设计模式

    了解这些设计模式对于提升编程能力和设计出更加优雅、可维护的代码至关重要。无论是初学者还是经验丰富的开发者,都应该深入学习和实践这些设计模式,以提高软件设计的灵活性和复用性。通过阅读《200912105635.chm》...

    设计模式之原型模式

    **原型模式(Prototype Pattern)**是软件设计模式中的结构型模式之一,主要用来简化实例化过程,减少类的创建。在原型模式中,一个对象可以被用作创建其他新对象的模板,通过复制已有对象来创建新对象,而不是通过new...

    设计模式解析.pdf

    书籍的目标读者广泛,既包括已有面向对象语言经验但渴望更深入了解设计模式的开发者,也涵盖了对设计模式好奇却觉得现有文献过于晦涩的新手。通过本书的学习,读者能够快速掌握设计模式的核心思想,缩短学习曲线,...

    设计模式Java版

    首先,我们要了解设计模式的三大类:创建型模式、结构型模式和行为型模式。创建型模式包括单例模式、工厂模式(简单工厂、工厂方法、抽象工厂)、建造者模式和原型模式,这些模式主要关注对象的创建过程。结构型模式...

    设计模式PPT课件

    首先,我们要了解设计模式的基本分类:创建型模式、结构型模式和行为型模式。创建型模式关注对象的创建过程,如单例模式、工厂模式、抽象工厂模式、建造者模式和原型模式。这些模式提供了灵活的创建对象的方式,使得...

    二十三种设计模式【PDF版】

    如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 建筑和软件中模式之异同 A. 创建模式 设计模式之 Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证...

    23种经典设计模式(疯狂Java联盟版)

    子和类图,目的是为了让读者了解二十三种设计模式,并能方便的查阅各种设计模式的用法及注意点。 所附的例子非常简单,慢慢的引导读者从浅到深了解设计模式,并能从中享受设计的乐趣。 由于每个人对设计模式的...

    设计模式之策略模式 鸭子问题

    策略模式是一种经典的设计模式,通过鸭子问题,可以让学习者更好地了解设计模式的概念和实现。策略模式的主要思想是定义一系列的算法,并将每一个算法封装起来,使它们可以相互替换。这样,算法独立于使用它的客户而...

    设计模式Design(最有用版

    首先,我们要了解设计模式的基本分类。设计模式通常分为三大类:创建型模式、结构型模式和行为型模式。创建型模式关注对象的创建过程,如工厂模式、抽象工厂模式、单例模式、建造者模式和原型模式。结构型模式则关注...

    《Java设计模式》课程标准2018

    - 理论讲解:采用PPT投影,让学生了解设计模式的基础理论和结构。 - 实训掌握:通过编写程序和实验,加深学生对设计模式实践应用的理解和熟练度。 6. 教学手段 - 使用多媒体教学手段,例如PPT投影,增强教学效果...

    原型设计模式prototype

    **原型设计模式(Prototype Pattern)**是一种创建型设计模式,它允许我们通过复制现有的对象来创建新对象,而不是通过构造函数来实例化新对象。在面向对象编程中,当我们需要频繁地创建具有相同或相似属性的对象时,...

    设计模式精解-GoF 23种设计模式解析

    ”了解设计模式意味着理解面向对象分析与设计的核心。本书通过作者的实际经验和项目应用案例,帮助读者更好地理解和掌握这些设计模式。 ##### 0.2 设计模式解析后记 本书的编写过程不仅仅是对GoF 23种设计模式的...

    【BAT必备】设计模式面试题

    ### BAT必备设计模式面试题详解 #### 一、引言 设计模式是在软件工程领域内被广泛采用的一种软件设计方法论。...希望本文能够帮助读者更深入地了解设计模式,并在即将到来的面试中取得优异成绩。

    设计模式与泡MM——设计模式入门教程

    ### 设计模式与泡MM——设计模式入门教程 #### 一、创建型模式 ##### 1、FACTORY(工厂模式) ...接下来,我们将继续探讨其他的设计模式,包括剩余的行为模式等,以便更全面地了解设计模式的应用。

    设计模式那点事_软件小蜜

    对于那些渴望了解设计模式但缺乏资源的人来说,这样的分享无疑是一份宝贵的财富。而作者希望读者能通过注册新账号来下载这份资料,或许也是一种鼓励社区互动的方式。 总的来说,设计模式是软件开发中的重要工具,...

    二十一种设计模式java例子

    首先,我们要了解设计模式的基本概念。设计模式不是代码,而是对在软件设计中反复出现的问题以及其解决方案的一种描述。它们提供了一种标准的方法来处理常见的编程难题,使得代码更加可读、可复用和易于维护。 Java...

    java设计模式.zip

    首先,我们要了解设计模式的三大类:创建型模式、结构型模式和行为型模式。 1. 创建型模式:这类模式主要关注对象的创建过程,降低了系统的复杂性,增加了系统的可扩展性。包括单例模式(Singleton)、工厂方法模式...

Global site tag (gtag.js) - Google Analytics