Example #1
0
        static void Main(string[] args)
        {
            //解决中文问题
            Console.OutputEncoding = Encoding.UTF8;

            #region 浅克隆
            Console.WriteLine("浅克隆开始......");
            //第一份简历
            Resume r1 = new Resume("小明");
            r1.PersonalInfo("男", "22");
            r1.PersonalExprience("2008-2010", "XX公司");
            //第二份简历,重新设置工作经历
            Resume r2 = (Resume)r1.Clone(false);
            r2.PersonalExprience("2010-2012", "YY公司");
            //第三份简历,也重新设置工作简历
            Resume r3 = (Resume)r1.Clone(false);
            r3.PersonalExprience("2012-2014", "ZZ公司");
            //三份简历依次进行打印
            r1.Display();
            r2.Display();
            r3.Display();

            Console.WriteLine("浅克隆结束......");

            #endregion

            #region 深克隆
            Console.WriteLine("深克隆开始......");
            //第一份简历
            Resume deepr1 = new Resume("小明");
            deepr1.PersonalInfo("男", "22");
            deepr1.PersonalExprience("2008-2010", "XX公司");
            //第二份简历,重新设置工作经历
            Resume deepr2 = (Resume)deepr1.Clone(true);
            deepr2.PersonalExprience("2010-2012", "YY公司");
            //第三份简历,也重新设置工作简历
            Resume deepr3 = (Resume)deepr1.Clone(true);
            deepr3.PersonalExprience("2012-2014", "ZZ公司");
            //三份简历依次进行打印
            deepr1.Display();
            deepr2.Display();
            deepr3.Display();
            Console.WriteLine("深克隆结束......");
            #endregion

            Console.ReadKey();
        }