Decorator模式 出现了点问题!。。
public abstract class Component
{
public abstract void sampleOperation();
}
/*
* 具体的一个门
*/
public class Door : Component
{
public override void sampleOperation()
{
Console.WriteLine("Build a door!");
}
}
/*
* 一个装饰抽象类,下面派生出一个用来装饰门的锁子和一个把手
*/
public abstract class Decorator : Component
{
private Component component;
public Decorator(Component _component)
{
this.component = _component;
}
public override void sampleOperation()
{
this.component.sampleOperation();
}
}
/*
* 用来装饰门的把手
*/
public class Knob : Decorator
{
public Knob(Component component)
: base(component)
{
}
public override void sampleOperation()
{
base.sampleOperation();
Console.WriteLine("Add an Knob(把手)");
}
}
public class DecoratorPattern
{
Component door123 = new Door();//创建一个扇门(向下转型)
Decorator knob = new Knob(door123);//报错:字段初始值设定项无法引用非静态字段、方法或属性“tlogin.comm”
public void f1()
{
knob.sampleOperation();
}
}
public class test
{
public static void Main()
{
DecoratorPattern k = new DecoratorPattern();
k.f1();
}
}
...全文
相关推荐
设计模式之 Decorator模式和代码实现
奇幻RPG(物品锻造 与 Decorator模式)本文中,我们通过一个常见的给武器(对象)添加宝石(额外的状态和行为)的例子,讨论了Decorator设计模式的实现过程。
Java设计模式之-Decorator装饰模式
NULL 博文链接:https://janeky.iteye.com/blog/472502
C++ Decorator模式
23种设计模式之八(结构型模式)Decorator模式
Java设计模式之装饰模式(Decorator模式)介绍
主要介绍了Java设计模式之装饰模式(Decorator模式)介绍,本文讲解了为什么使用Decorator、如何使用装饰模式、Jive中的Decorator实现等内容,需要的朋友可以参考下
设计模式之Decorator
博文链接:https://your.iteye.com/blog/133420



