设计模式(5)-创建型-原型(Prototype)模式(个人笔记)
来源:互联网 发布:能下载在线视频的软件 编辑:程序博客网 时间:2024/04/30 03:33
概述
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
适用性
1.当一个系统应该独立于它的产品创建、构成和表示时。 2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3.为了避免创建一个与产品类层次平行的工厂类层次时。 4.当一个类的实例只能有几个不同状态组合中的一种时。 建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。
参与者
1. Prototype 声明一个克隆自身的接口。 2. ConcretePrototype 实现一个克隆自身的操作。 3. Client 让一个原型克隆自身从而创建一个新的对象。
示例:
结果:package com.sql9.created;
// Prototypeabstract class Prototype implements Cloneable{ private String _name; public void setName(String name) { _name = name; } public String getName() { return _name; } public Object clone() { try { return super.clone(); } catch (Exception ex) { ex.printStackTrace(); return null; } }}
// Concrete Prototypeclass TrainPrototype extends Prototype{ public TrainPrototype(String name) { setName(name); }}
public class PrototypeTest{ public static void main(String[] args) { Prototype prototype = new TrainPrototype("北方火车"); Prototype p2 = (Prototype)prototype.clone(); System.out.println("prototype name: " + prototype.getName()); System.out.println("p2 name: " + p2.getName()); }}
prototype name: 北方火车p2 name: 北方火车
- 设计模式(5)-创建型-原型(Prototype)模式(个人笔记)
- 设计模式笔记--创建型模式之四--原型prototype
- 创建型设计模式---原型模式(Prototype)
- JAVA设计模式(5) —<创建型>原型模式(Prototype)
- [设计模式-创建型]原型(Prototype)
- 设计模式-创建型-prototype 原型
- Prototype 原型(创建型模式) 笔记
- 设计模式:创建型模式:原型模式(prototype pattern)
- [设计模式笔记]一. 创建型模式--5.Prototype模式(原型)(一)
- [设计模式笔记]一. 创建型模式--5.Prototype模式(原型)(二)
- 【设计模式学习笔记五】【创建型模式】【原型模式(Prototype)】
- (创建模式)设计模式之Prototype(原型)
- 设计模式(四)原型模式Prototype(创建型)
- 设计模式(四)原型模式Prototype(创建型)
- 设计模式(四)原型模式Prototype(创建型)
- 【设计模式基础】创建型模式 - 6 - 原型(Prototype)
- 设计模式--原型模式Prototype(创建型)
- 设计模式之Prototype(原型模式)对象创建型
- C#备份mssql数据库
- 新浪微博布局学习——妙用TabHost
- SHELL 命令:dirname basename的使用
- left of '->GetStatus' must point to class/struct/union/generic type
- Linux 网络端口回收加速
- 设计模式(5)-创建型-原型(Prototype)模式(个人笔记)
- 安智网,已变质了。好的不学,学落后的官僚作风。只认证,不认理。将人变成机器
- 递归
- lspci -tv description
- Run-time PM 详解
- android-tabhost-bottom-layout
- epoll_create epoll_ctl epoll_wait close epoll和select的简单比较
- c语言关键字之 extern
- Tomcat6.X 配置Struts2 报错 “严重: Exception starting filter struts2”