相关疑难解决方法(0)

当参数类型是基类时,将Derived类作为参数传递给方法

我是一个新手,并试图理解继承和设计模式的概念.

当我浏览一些博客时,我遇到了这种模式http://en.wikipedia.org/wiki/Strategy_pattern.

我发现它很有趣,想要了解更多.所以我开发了以下程序.

static void Main(string[] args)
{
    Context context;

    // Three contexts following different strategies
    context = new Context(new ConcreteStrategyAdd());
    int resultA = context.executeStrategy(3, 4);

    context = new Context(new ConcreteStrategySubtract());
    int resultB = context.executeStrategy(3, 4);

    context = new Context(new ConcreteStrategyMultiply());
    int resultC = context.executeStrategy(3, 4);

    Console.Read();
}      

abstract class Strategy
{
    public abstract int execute(int a, int b);

    public void Test()
    {
        Console.Write("tttt");
    }
}

class ConcreteStrategyAdd : Strategy
{
    public override int execute(int a, int b) …
Run Code Online (Sandbox Code Playgroud)

c# inheritance

46
推荐指数
2
解决办法
4万
查看次数

标签 统计

c# ×1

inheritance ×1