使用在擴充,或增加物件的行為時使用,好處是可以不更動現有物件,就可以加入新的行為.
例如:
在現有的物件上,新的物件繼承在現有的物件上並為新物件增加行為
使用方式:
public class Component此時呼叫DecoratorChild的AddMethod()時,會傳回訊息
{
public string GetComponentName()
{
return "i am ori component";
}
}
public class DecoratorChild : Component
{
public string AddMethod()
{
return "call parent component :"+GetComponentName();
}
}
call parent component :i am ori component
也就是雖然DecoratorChild未有GetComponentName()的行為,但透過繼承後,可以不須變更原本物件,就為原本物件加上新的行為
沒有留言:
張貼留言