zoukankan      html  css  js  c++  java
  • 设计模式之原型模式代码示例

    using System;
    
    namespace CloneFunc{
    
        abstract class Prototype{
            string id;
            public string Id{
                get{return this.id;}
                set{this.id = value;}
            }
            
            public Prototype(string Id){
                this.id = Id;
            }
            
            public abstract Prototype Clone();
        }
    
        class ConcretePrototype1 : Prototype{
        
            public override Prototype Clone(){
                return (ConcretePrototype1)this.MemberwiseClone();
            }
            public ConcretePrototype1(string id) : base(id){
            }
        }
    
        class EntryPoint{
            public static void Main(){
                ConcretePrototype1 c1 = new ConcretePrototype1("i");
                ConcretePrototype1 cc = c1.Clone() as ConcretePrototype1;
                Console.WriteLine(cc.Id + "------" + cc.ToString());
                Prototype c2 = new ConcretePrototype1("ii");
                Console.WriteLine(c2.Id + "------" + c2.ToString());
                bool result = object.ReferenceEquals(cc,c2);
                Console.WriteLine(result.ToString());
                Console.Read();
            }
        }
    
    }
  • 相关阅读:
    HDU 4472 Count DP题
    HDU 1878 欧拉回路 图论
    CSUST 1503 ZZ买衣服
    HDU 2085 核反应堆
    HDU 1029 Ignatius and the Princess IV
    UVa 11462 Age Sort
    UVa 11384
    UVa 11210
    LA 3401
    解决学一会儿累了的问题
  • 原文地址:https://www.cnblogs.com/zhangchenliang/p/2657801.html
Copyright © 2011-2022 走看看