ActionScript3.0やC#などと異なる挙動なので、ちょっと見落としがちなHaxeのoverrideの挙動についての話です。 戻り値はより狭い型を指定しても良い Haxeでは以下のように、関数の戻り値に元の型より狭い型を指定してもエラーになりません。 class A{ public static function main() {} public function a():Float { return 0.5; } } class B extends A { public override function a():Int { return 1; } }