Я переопределяю метод ini в суперклассе, но странно метод ini в суперклассе все еще называется, хотя я его не называю, используя superПочему суперкласс переопределяет метод?
Любая идея? это проблема в haxe 3? пс: его проектом OpenFL, нацеливание вспышка ..
class superClass{
function ini():Void
{
// this line should not be reached, but, it is reached .. !
}
}
class subClass extends superClass{
override function ini():Void
{
// I Am not calling super ini here ..
}
}
EDIT
Вот конспект моего кода, где вы можете увидеть мои классы набор:
class EComponent extends Sprite
{
}
class Component extends EComponent
{
public function new(aBoard:Board)
{
ini();
}
function ini():Void
{
// I am checking this manually,
// because ini is called even though its BeziereWire instance!
if (Std.is(this, BeziereWire))
return;
}
function iniRotators():Void
{
}
}
class BeziereWire extends Component
{
override function ini():Void
{
iniRotators();
}
}
Есть ли что-то особенное в INI() метод? Это называется отражением или что-то в этом роде? Вы не указали код вызова или тестовый пример, который показывает, что вызывается superClass.ini(), поэтому ... трудно помочь – Liosan
Я вызываю ini обычно из конструктора superClass, для некоторых подклассов мне нужно вырезать superClass ini, переопределив его и не назову его, я не использую никакого отражения или что-то еще ... Не могли бы вы сделать небольшой тест, будет ли он работать на вашей стороне? – simo
Ваш отредактированный код все еще не компилируется ... так что вы, очевидно, пока еще не показываете нам полную картину. Я исправил ошибки и добавил следы, и он работает, как ожидалось: http://try.haxe.org/#091bA –