Inheritance problem?

I’m pretty new to fully using class’s for my programming (in-frame scripting satisfied me for a while). I am having a problem accessing the properties of a class from another class. The first class (I’ll call it controller) receives a reference to an object of another class (I’ll call it display). Display have several specialized subclass (I’ll call one SequencedDisplay). SequencedDisplay has a timer in it that I need to access:


//obviously this is example code to spare you the long, actual code
class Controller
{
var display:Display;
public function Controller(DisplayReference:Display):void
{
display = DisplayReference;
}
function setTimer()
{
//this function can only be called if the display var was assigned a SequencedDisplay object
display.timer = new Timer(...); //1119 error - cannot access possibly undefined timer
}
}

class Display extends Sprite
{
... (no property called timer)
}

class SequencedDisplay extends Display
{
internal var timer:Timer;
}

Where is my understanding of inheritance, etc. flawed? Why can’t I access SequncedDisplay.timer from Controller? There is no error polymorphing SequencedDisplay to Display since if I take out the timer reference everything works. Also there is no access problems since if I change the typing of display to :SequencedDisplay, it also works fine. Is this a strict vs. normal compilation mode thing. If so, how can I change my way of doing things to make it compile in strict mode?