您的位置:首页 > 编程语言 > C#

C# 中的设计模式2:Prototype(学习笔记)

2008-01-16 14:40 323 查看
为什么要用原型?用原型的好处


比如我们有一个工具栏按钮,“新建”按钮,它是Button的实例,它有长度、宽度属性等,而且属性都赋了值。
现在我们要再添加一个“保存”按钮,它也是Button的实例,它也有长度、宽度属性等,不过它还没赋值,它的值和“新建”按钮的值一样。
如果我们不用原型设计模式的话,可能重新赋一遍值。如果我们用原型设计模式的话,我们可以把“新建”按钮作为“保存”按钮的原型。那样的话就不需要再给“保存”按钮赋值,它的默认的长度、宽度就和“新建”按钮一样了。

在C#中怎样用原型?

因为类的实例是引用类型,要想用原有的类中的实例的数据的话,只能用clone方法。
Clone方法分为深clone和浅clone
在C#中提供了浅clone的方法,即为MemberwiseClone()
Sample:
using System;

namespace Sky.Study

{

public class Button : ICloneable

{

public int width { get; set; }

public int height { get; set; }

public object Clone()

{

return this.MemberwiseClone();

}

}
public class Test

{

public void TestMethod()

{

Button b1 = new Button();

b1.width = 30;

b1.height = 20;

Button b2 = new Button();

b2 = (Button)b1.Clone();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: