module strategy.flybehavior;

import std.stdio : writeln;

abstract interface FlyBehavior
{
    void fly();
}

class FlyWithWings : FlyBehavior
{
    override void fly()
    {
        writeln("I'm flying!");
    }
}

class FlyNoWay : FlyBehavior
{
    override void fly()
    {
        writeln("I can't fly");
    }
}

class FlyRocketPowered : FlyBehavior
{
    override void fly()
    {
        writeln("I'm flying with a rocket!");
    }
}
