2013-09-21 3 views
0

Я переопределяю метод 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();  
    } 
} 
+2

Есть ли что-то особенное в INI() метод? Это называется отражением или что-то в этом роде? Вы не указали код вызова или тестовый пример, который показывает, что вызывается superClass.ini(), поэтому ... трудно помочь – Liosan

+0

Я вызываю ini обычно из конструктора superClass, для некоторых подклассов мне нужно вырезать superClass ini, переопределив его и не назову его, я не использую никакого отражения или что-то еще ... Не могли бы вы сделать небольшой тест, будет ли он работать на вашей стороне? – simo

+0

Ваш отредактированный код все еще не компилируется ... так что вы, очевидно, пока еще не показываете нам полную картину. Я исправил ошибки и добавил следы, и он работает, как ожидалось: http://try.haxe.org/#091bA –

ответ

3

Хмм , что-то не так с вашим реальным кодом. Я делаю тестовый проект, и все работает нормально. Это тест Main.hx - https://gist.github.com/sergey-miryanov/6658172

И это скриншот: And this is a screenshot

+0

о, но что может быть неправильно с моим кодом? его просто ... – simo

+0

Просьба представить свой минимальный тестовый проект, который покажет проблему. Поэтому мы пытаемся проверить это. – W55tKQbuRu28Q4xv

+0

Когда я вернусь домой .. спасибо – simo

Смежные вопросы