Beispiel #1
0
        static void Main(string[] args)
        {
            Reusme a = new Reusme("大鸟");

            a.SetPersonalInfo("29", "男");
            a.SetWorkException("2001--2006", "xx company");
            Reusme b = (Reusme)a.Clone();

            b.SetWorkException("2001--2006", "xx company");
            Reusme c = (Reusme)a.Clone();

            c.SetWorkException("2001--2006", "xx company");
            a.Display();
            b.Display();
            c.Display();

            //深度复制
            DeepReusme deepA = new DeepReusme("大鸟");

            deepA.SetPersonalInfo("29", "男");
            deepA.SetWorkException("2004--2007", "xx company");
            DeepReusme deepB = (DeepReusme)deepA.Clone();

            deepB.SetWorkException("2001--2004", "NN company");
            DeepReusme deepC = (DeepReusme)deepA.Clone();

            deepC.SetWorkException("1998--2001", "JJ company");
            deepA.Display();
            deepB.Display();
            deepC.Display();
            Console.ReadKey();
        }
Beispiel #2
0
        public Object Clone()
        {
            DeepReusme obj = new DeepReusme(this.work);

            obj.name = this.name;
            obj.sex  = this.sex;
            obj.age  = this.age;
            return(obj);
        }