您现在的位置是:主页 > news > 网页设计实训总结与展望150字/河南优化网站

网页设计实训总结与展望150字/河南优化网站

admin2025/6/1 13:50:49news

简介网页设计实训总结与展望150字,河南优化网站,石景山周边网站建设,彩票网站怎么做推广一、概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 二、适用性 1.当一个系统应该独立于它的产品创建、构成和表示的时候。 2.当要实例化的类是在运行时刻指定的时候,例如:通过动态装载。 3.为了避免创建一个与产品类…

网页设计实训总结与展望150字,河南优化网站,石景山周边网站建设,彩票网站怎么做推广一、概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 二、适用性 1.当一个系统应该独立于它的产品创建、构成和表示的时候。 2.当要实例化的类是在运行时刻指定的时候,例如:通过动态装载。 3.为了避免创建一个与产品类…

一、概述

        用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

二、适用性

1.当一个系统应该独立于它的产品创建、构成和表示的时候。

2.当要实例化的类是在运行时刻指定的时候,例如:通过动态装载。

3.为了避免创建一个与产品类层次平行的工厂类层次的时候。

4.当一个类的实例只能有几个不同状态组合中的一种的时候。

        建立相应数目的原型并克隆它们可能要比每次用合适的状态手工实例化该类更方便一些。

三、参与者

1.Prototype:声明一个克隆自身的接口。

2.ConcretePrototype:实现一个克隆自身的操作。

3.Client:让一个原型克隆自身从而创建一个新的对象。

四、类图

五、示例

Prototype

[java] view plaincopy
print?
  1. package cn.lynn.prototype;  
  2.   
  3. public class Snake implements Cloneable {  
  4.   
  5.     private String name;  
  6.   
  7.     public String getName() {  
  8.         return name;  
  9.     }  
  10.   
  11.     public void setName(String name) {  
  12.         this.name = name;  
  13.     }  
  14.   
  15.     public Object clone() {  
  16.         try {  
  17.             return super.clone();  
  18.         } catch (Exception e) {  
  19.             e.printStackTrace();  
  20.             return null;  
  21.         }  
  22.     }  
  23.   
  24. }  
ConcretePrototype

 

[java] view plaincopy
print?
  1. package cn.lynn.prototype;  
  2.   
  3. public class WhiteSnake extends Snake {  
  4.   
  5.     public WhiteSnake(String name) {  
  6.         setName(name);  
  7.     }  
  8.   
  9. }  

 

Client
[java] view plaincopy
print?
  1. package cn.lynn.prototype;  
  2.   
  3. public class Client {  
  4.   
  5.     public static void main(String[] args) {  
  6.         Snake snake1 = new WhiteSnake("我是白素贞");  
  7.         Snake snake2 = (Snake) snake1.clone();  
  8.         System.out.println(snake1.getName());  
  9.         System.out.println(snake2.getName());  
  10.     }  
  11.   
  12. }  
Result
[java] view plaincopy
print?
  1. 我是白素贞  
  2. 我是白素贞  

转载于:https://www.cnblogs.com/huangwentian/p/7471560.html