public partial class 原型模式

  public partial class 原型模式 : Form
  {
      public 原型模式()
      {
          InitializeComponent();
      }

      private void 原型模式_Load(object sender, EventArgs e)
      {
          kehuduan.sss();
      }
  }

  abstract class Prototype
  {
      private string id;
      public Prototype(string id)
      {
          this.id = id;
      }
      public string Id
      {
          get { return id; }
      }

      public abstract Prototype Clone();

  }

  class ConcretePrototype1 : Prototype
  {
      public ConcretePrototype1(string id) : base(id)
      {

      }
      public override Prototype Clone()
      {
          return (Prototype)this.MemberwiseClone();
      }
  }

  class kehuduan
  {
      public static void sss()
      {
          ConcretePrototype1 p1 = new ConcretePrototype1("i");
          ConcretePrototype1 c1 = (ConcretePrototype1)p1.Clone();
          var x = c1.Id;

      }
  }

  class Resume : ICloneable
  {
      private string name;
      private string sex;
      private string age;
      private string timeArea;
      private string company;
      public Resume(string name)
      {
          this.name = name;
      }
      public void SetPersonalInfo(string age,string sex)
      {
          this.age = age;
          this.sex = sex;
      }
      public void SetWorkExperience(string timeArea,string company)
      {
          this.timeArea = timeArea;
          this.company = company;
      }
      public void Display()
      {
          Console.WriteLine("{0}{1}{2}",name,sex,age);
          Console.WriteLine("{0}{1}", timeArea, company);
      }

      public object Clone()
      {
          return (object)this.MemberwiseClone();
      }

  }
  class kehuduan1
  {
      public static void sss()
      {
          Resume a = new Resume("大料");
          a.SetPersonalInfo("1","1");
          a.SetWorkExperience("1","1");

          Resume b = (Resume)a.Clone();

      }
  }

  class WorkExperience
  {
      private string workDate;
      public string WorkDate
      {
          get { return workDate; }
          set { workDate = value; }
      }
      private string company;
      public string Company
      {
          get { return company; }
          set { company = value; }
      }
  }

  class Resume1 : ICloneable
  {
      private string name;
      private string sex;
      private string age;
      private WorkExperience work;
      public Resume1(string name)
      {
          this.name = name;
          work = new WorkExperience();
      }

      public object Clone()
      {
          return (object)this.MemberwiseClone();
      }

      public void SetPersonalInfo(string age, string sex)
      {
          this.age = age;
          this.sex = sex;
      }
      public void SetWorkExperience(string workDate, string company)
      {
          work.WorkDate = workDate;
          work.Company = company;
      }


  }
  class kehuduan2
  {
      public static void sss()
      {
          Resume a = new Resume("大料");
          a.SetPersonalInfo("1", "1");
          a.SetWorkExperience("1", "1");

          Resume b = (Resume)a.Clone();

      }
  }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值