我是Haxe的新手,只打算部署网络。
所以我有一个类A
,其方法名称为doThis()
。在课程B
上,我继承了课程A
。我在课程doThis()
上覆盖了B
。当我检查调试器时,正在调用类A
doThis()
,然后调用类B
doThis()
。
我的直觉是,我已经明确地覆盖了这些方法,我可以通过super.doThis()
来调用父代的唯一方法,但似乎它会自动执行此操作。我只希望doThis()
的版本为B
。不是A
' s。
有没有想过它为什么会这样?我想我在这里遗漏了一些东西。
谢谢!
答案 0 :(得分:5)
如果没有任何进一步的信息,我打赌你在doThis
的 定义 上有调试器断点的好钱,当你打算放置它们时在doThis
的 调用 中(在函数体内)。
其他可能(但不太可能)的原因:
super.doThis()
来电super.doThis()
调用。答案 1 :(得分:2)
除非您覆盖的函数是构造函数new
,否则调用父(超级)函数是可选的。此外,您可以通过调整super.doThis()
时调整父函数的时间来规定。
为了说明,这里是仅在try.haxe上运行子类函数的代码。听起来你可能已经尝试过类似的方法,所以请确保你没有遗漏一些你可能不知道调用超级函数的代码。
答案 2 :(得分:0)
我认为你做的是正确的事 或许将一些println添加到父函数和子函数中,以确保您描述的是实际发生的事情。
换句话说,调试器不只是和你一起玩。