相关疑难解决方法(0)

在C#中,public,private,protected和没有访问修饰符有什么区别?

我所有的大学四年我一直在使用public,并想知道的区别public,privateprotected

还有什么可以static做而不是什么都没有?

.net c# asp.net access-modifiers

701
推荐指数
12
解决办法
65万
查看次数

Java Decorator模式:我可以装饰受保护的方法吗?

我想装饰(装饰器设计模式)一个公共基类,但我需要装饰的方法受到保护.见例子:

public class AbstractActor {
   public void act(){...}      //Delegates its actions to doAct() based on some internal logic
   protected void doAct(){...}
}
Run Code Online (Sandbox Code Playgroud)

子类意味着重写doAct(),我需要在那里注入一些功能.我可以覆盖doAct,但我的装饰器类无法访问正在装饰的实例上的受保护方法doAct().例:

public class ActorDecorator extends AbstractActor {
   AbstractActor decoratedInstance;
   public ActorDecorator(AbstractActor decoratedInstance){
      this.decoratedInstance = decoratedInstance;
   }
   protected void doAct(){
      //Inject my code
      decoratedInstance.doAct();    //Can't call protected method of decoratedInstance
   }
   //Other decorator methods
}
Run Code Online (Sandbox Code Playgroud)

这个挑战有解决方案吗?

java design-patterns decorator

5
推荐指数
1
解决办法
1335
查看次数

标签 统计

.net ×1

access-modifiers ×1

asp.net ×1

c# ×1

decorator ×1

design-patterns ×1

java ×1