通过一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。
public interface Prototype extends Cloneable {
public Object clone();
}
public class ConcreatePrototype implements Prototype {
public Object clone() {
try {
return super.clone();
} catch (CloneNotSupportedException e) {
return null;
}
}
}
public class Client {
public static void main(String[] args) {
Prototype prototype = new ConcreatePrototype();
System.out.println(prototype);
Prototype prototype2 = (Prototype) prototype.clone();
System.out.println(prototype2);
/*克隆对象与原对象不是同一个对象*/
System.out.println(prototype != prototype2); //true
/*克隆对象与原对象的类型一样*/
System.out.println(prototype.getClass() == prototype2.getClass()); //true
}
}
分享到:
相关推荐
本篇将基于提供的内容简要介绍Java的五种设计模式:工厂模式、建造者模式、工厂方法模式、原始模型模式和单例模式。 1. **工厂模式**: 工厂模式是一种简单的创建型设计模式,它提供了一个创建对象的接口,但允许...
本文将深入解析五个常见的设计模式,分别是工厂模式、建造者模式、工厂方法模式、原始模型模式和单例模式。 1. **工厂模式**: 工厂模式是一种简单的创建型模式,它定义了一个创建对象的接口,但由子类决定要实例化...
原始模型模式允许动态的增加或减少产品类,产品类不需要非得有任何事先确定的等级结构,原始模型模式适用于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。 5. 单例模式(Singleton Pattern) 单例模式...
1:模式的简史和形而上学;2:统一建模语言UML简介;...20:原始模型模式;21:javabean冷藏和解冻;22:适配器模式;23:缺省适配器模式;24:合成模式;25:装饰模式;26:设计模式在JAVA I/O设计原则;28:代理模式;....
原始模型模式是通过克隆已有对象来创建新对象的设计模式。它提供了一种通过复制现有的对象来创建新对象的方式,减少了创建新对象的复杂度,尤其适用于对象创建成本较高的情况。原始模型模式需要提供一个克隆方法,...
4. 原始模型模式(Prototype模式):原始模型模式允许通过复制原型对象来创建新对象,提供了动态地增加或减少产品类的能力,且无需关心产品的具体实现细节。 5. 单例模式:单例模式保证一个类只有一个实例,并提供...
原始模型模式通过克隆已有对象来创建新对象,简化了对象的创建过程。客户端可以要求一个原型对象克隆自身,以得到与原型相同或相似的新对象,而无需知道具体实现细节。 5. 单例模式(Singleton): 单例模式确保...
原始模型模式使用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象;单例模式保证一个类只有一个实例,并提供一个全局访问点。 结构型模式关注类和对象的组合。适配器模式允许不兼容的接口进行合作,...
<br>第一部份、UML和模式介绍 com.javapatterns.uml 统一建模语言UML... com.javapatterns.prototype 原始模型模式 com.javapatterns.serializable 专题:JavaBean的“冷藏”和“解冻”
java和设计模式ppt包含工厂模式、建造模式、原始模型模式、单例模式、结构模式、适配器、桥梁模式、合成模式、装饰模式、门面模式、享元模式、代理模式、行为模式、解释器模式、迭代子模式、调停者模式、备忘录模式...
7. **原始模型模式(Prototype)**:通过克隆原型对象来创建新对象,简化了对象的创建过程。原始模型模式适用于需要频繁创建相似对象的情况,但要求所有类都实现克隆接口。 8. **代理模式(Proxy)**:为其他对象...
在提供的"RFM模型(原始数据聚类).xml"文件中,很可能包含了原始的RFM数据,通过导入到SPSS中,我们可以进行数据的清洗、转换、聚类分析等一系列操作,最终得出有价值的客户群体划分。 通过RFM模型分析,企业不仅...
该方案的核心是在模式匹配过程中,利用已匹配的元素对对原始匹配算法进行优化,使其更好地适应数据源的本地化特性,从而提高匹配的准确性。在实际的“餐饮信息管理”案例中,实验结果显示,该方法的模式匹配效果显著...
然而,需要注意的是,任何对原始模型的修改都可能会影响游戏的兼容性和稳定性,因此在进行修改时需谨慎操作。 在压缩包子文件的“模型编辑”目录下,可能包含了mdlvis的安装程序、教程文档、示例模型文件以及其他...
此外,该模型在海洋学中也有重要应用,可以揭示海流模式,辅助预测天气和海平面变化。 四、文件构成 压缩包中的“XGM2019”可能是模型的基础数据文件,包含重力场的原始数据;“XGM2019e”可能代表模型的增强版或...
深度学习模型,如CrowdNet,通过学习大量的标注图像,学习从原始像素到人群密度分布的映射。这种映射过程涉及到复杂的特征提取,例如多尺度信息处理,以便更准确地识别不同大小和形状的人头。 3. **CrowdNet模型...
通过时间序分析,可以对数据中的规律和模式进行识别,从而对未来数据进行预测和分析。 二、ARIMA模型的原理 ARIMA模型是AutoRegressive Integrated Moving Average的缩写,是一种常用的时间序模型。ARIMA模型由三...
这个过程包括准备阶段(观察和分析模型的动态范围)、量化模型(实际转换权重和激活)以及验证阶段(确保量化后的模型性能接近原始浮点模型)。 量化模型的步骤如下: 1. **模型准备**:通过`torch.quantize_...