using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 原型模式
{
//细胞
public abstract class Cell
{
public string Id { get; set; }
public Cell(string id)
{
this.Id = id;
}
public abstract Cell Clone();
}
//红细胞
public class RedCell:Cell
{
public RedCell(string id):base(id)
{ }
public override Cell Clone()
{
//MemberwiseClone方法创建一个浅表副本,具体来说就是创建
//一个新对象,然后将当前对象的非静态字段复制到该新对象。
return (Cell)this.MemberwiseClone();
}
}
class Program
{
static void Main(string[] args)
{
Cell cell = new RedCell("红细胞");
Console.WriteLine(cell.Id);
Cell cell2 = cell.Clone();
Console.WriteLine(cell2.Id);
Cell cell3 = cell2.Clone();
Console.WriteLine(cell3.Id);
Console.ReadKey();
}
}
}
c# 原型模式简单例子
最新推荐文章于 2020-07-17 09:50:03 发布