Интересно стало. потестил:

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
/**
* ...
* @author k0t0vich (c) 2009 b_konstantin@list.ru http://islandsworld.ru/
*/
public class Main extends Sprite
{
private var _value:int = 3;
public var func1:Function = new Paranoik().getValue;
public var func2:Function = new Simple().getValue;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
trace (func1());
trace(func2());
}
}
}

Код AS3:
package
{
/**
* ...
* @author k0t0vich (c) 2009 b_konstantin@list.ru http://islandsworld.ru/
*/
public class Paranoik
{
private var _value:int = 1;
public function Paranoik()
{
}
public function getValue():int
{
return Paranoik(this)._value;
}
}
}

Код AS3:
package
{
/**
* ...
* @author k0t0vich (c) 2009 b_konstantin@list.ru http://islandsworld.ru/
*/
public class Simple
{
private var _value:int = 2;
public function Simple()
{
}
public function getValue():int
{
return _value;
}
}
}
По идее автора конструкции func2 не должна выдавать _value класса Simple, т.е. 2, а делегироваться на получение Main._value, чего конечно же не происходит.
зачем тогда: Paranoik(this)._value ?