переписал таким образом.
Проблема в том, что он работает только с теми экземплярами, которые создал в конструкторе базового класса. А мне нужно, чтобы всё то, что проделывается в конструкторе базового класса, проходило с переменными созданными в детях.

Код AS3:
class Button extends Sprite{
public var pict:Sprite;
public function Button ()
{
pict=new Sprite();
addChild(pict);
}
public function SetX ():void
{
pict.x= 200;
}
}

Код AS3:
class Button1 extends Button{
public function Button1 ()
{
pict=new black(); //black - класс картинки из библиотеки
this.x=100;
this.y=50;
}
}

Код AS3:
class Button2 extends Button{
public function Button2 ()
{
pict=new green(); //green - класс картинки из библиотеки
this.x=100;
this.y=50;
}
}
Я вижу один выход. Например содержимое класса родителя вынести в отдельную функцию, за минусом создания экземпляров.
И в конструкторе детей вызывать эту функцию...
Но что-то мне это не нравится... Мне кажется должно быть иначе...