zoukankan      html  css  js  c++  java
  • 原型模式

    原型模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何创建的细节。

    客户角色:客户类提出创建对象的请求

    抽象原型角色:定义clone()方法

    具体原型角色:实现clone()方法


    public interface Prototype extends Cloneable{
       
    Prototype clone();

    }

    public class ConcreatePrototype implements Prototype
    {
        public Object clone()
        {
            try
            {
            return super.clone();
       
            }
            catch(CloneNotSupportedException e)
            {
                return null;
            }
        }
    }

    public class Client
    {
        private Prototype prototype;
       
        public void operation(Prototype example)
        {
            Prototype p=(Prototype)example.clone();
        }
    }

    public class Text
    {
        public static void main(String[] args)
        {
            Client client=new Client();
            Prototype prototype=new Prototype();
            client.operation(prototype);
        }
    }

    克隆必须满足的条件:
    a.对任何的对象x,都有:x.clone() != x,即克隆对象与原对象不是同一个对象。
    b.对任何的对象x,都有:x.clone().getClass() == x.get getClass(),即克隆对象与原对象的类型是一样的。 c.如果对象x的equals()方法定义恰当的话,那么x.clone().equals(x)应当是成立的。
    在java中实现clone()应该满足这三个条件。

  • 相关阅读:
    ORDER BY子句
    SELECT子句
    WHERE子句
    定义数据完整性
    Microsoft Visual Studio Tips
    zz人性的经典总结54句
    About Refactor
    zz你的交际力能否通吃?
    zz一个高级主管必须明白的几点事情
    About SQLServer Transaction
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1933316.html
Copyright © 2011-2022 走看看