module strategy.quackbehavior;

import std.stdio : writeln;

abstract interface QuackBehavior
{
    void quack();
}

class Quack : QuackBehavior
{
    override void quack()
    {
        writeln("Quack");
    }
}

class Squeak : QuackBehavior
{
    override void quack()
    {
        writeln("Squeak");
    }
}

class MuteQuack : QuackBehavior
{
    override void quack()
    {
        writeln("Silence");
    }
}
