In the derived class the compiler doesn't recognize a variable of parent class unless the variable is in the cinstructor
<p>I have the following bellow.</p>

<p>The compiler recognizes the variable flyBehaviour in the derived class only
if the variable is in the constructor.
Why is that?</p>

<pre><code>abstract class Duck
{
    protected IFlyBehaviour flyBehaviour;

    public IFlyBehaviour FlyBehaviour
    {
        get
        {return flyBehaviour;}
        set
        {flyBehaviour=value;}
    }

}

class MullardDuck: Duck
{
    flyBehaviour  //the compiler doesn't recognize this variable here
    public MullardDuck()
    {
        flyBehaviour = new FlyWithWings(); //here the compiler recognize this variable
    }
}
</code></pre>
