mql5中的OOP、模板和宏,细微之处和用途 - 页 7 1234567891011121314...28 新评论 Alexey Navoykov 2019.01.25 13:36 #61 Ilya Malev:在我看来,这并不是那么糟糕。在我看来,C#中没有那么多基本的核心接口(我不是C#专家),以至于它们的方法不能被简化为一个基本的超类,然后由需要什么的人继承。 你说的 "谁需要什么就继承谁 "是什么意思? 不是继承整个类,而是继承它的一部分?) 我不知道有这样一个函数 Ilya Malev 2019.01.25 13:45 #62 Alexey Navoykov: 你说的 "继承你需要的东西 "是什么意思? 继承的不是整个类,而是它的一部分?)我对这种功能不熟悉。不,我的意思是定义许多虚拟函数,并根据需要在继承者中重载它们。 Alexey Navoykov 2019.01.25 14:04 #63 Ilya Malev:不,我的意思是定义许多虚拟函数,并根据需要在继承者中重载它们。 这完全是混乱和缺乏控制。 接口定义了必须 实现的抽象方法,而不是 "必然 "的。在你的方法中,如果你忘了在某个地方重载一个方法,程序的编译就会像什么都没发生过一样,但所需要的方法会被称为dummy。 Ilya Malev 2019.01.25 14:09 #64 Alexey Navoykov: 这完全是混乱和不可控的。 接口定义了必须 实现的抽象方法,而不是 "必然 "的。而用你的方法,如果你忘了在某个地方重载一个方法,程序编译时就会像什么都没发生过一样,但程序会被调用,而不是需要的方法。不是空白,而是一个 "未实施 "的例外。在C#中,它是无处不在的。 Vasiliy Sokolov 2019.01.25 14:10 #65 Alexey Navoykov:...如果你忘了在某个地方重载一个方法,程序编译时就会像什么都没发生过一样,但会调用一个空白的方法,而不是所需的方法。 这很正常...顺便说一下,在MQL中就是这样工作的;(。 Alexey Navoykov 2019.01.25 14:11 #66 Ilya Malev:不是空白,而是一个 "未实施 "的例外。在C#中也是如此,它似乎到处都是。 不是这个问题,你提议在运行时捕捉错误,而这些错误可以(也应该)在编译时捕捉。 Alexey Navoykov 2019.01.25 14:12 #67 Vasiliy Sokolov:顺便说一下,在MQL中就是这样工作的;() 你是说他们的标准库?) Ilya Malev 2019.01.25 14:13 #68 Alexey Navoykov: 不是这个问题,你提议在运行时捕捉错误,而这些错误可以(也应该)在编译时捕捉。我认为这比为类建立模板<,,,,,,,>等结构要好。在你完成建立这样的 "阶级体系 "之前,它将打破你的大脑。 Alexey Navoykov 2019.01.25 14:18 #69 Ilya Malev:我认为这比为类建立模板<,,,,,,,>等结构要好。在你完成建立这样的 "阶级体系 "之前,它将打破你的大脑。 我宁愿用编译器绞尽脑汁,但我要确保我的程序能保证正确工作,并调用一个工作方法,而不是其他东西。 Ilya Malev 2019.01.25 14:22 #70 Alexey Navoykov: 我宁愿用编译器绞尽脑汁,但我要确保我的程序能保证正确工作,并调用一个有效的方法,而不是什么疯狂的东西。如果整个事物都有一个简单的基类,它大多出现在各个地方,然后动态投射去,它可能会成功)。 1234567891011121314...28 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在我看来,这并不是那么糟糕。在我看来,C#中没有那么多基本的核心接口(我不是C#专家),以至于它们的方法不能被简化为一个基本的超类,然后由需要什么的人继承。
你说的 "继承你需要的东西 "是什么意思? 继承的不是整个类,而是它的一部分?)我对这种功能不熟悉。
不,我的意思是定义许多虚拟函数,并根据需要在继承者中重载它们。
不,我的意思是定义许多虚拟函数,并根据需要在继承者中重载它们。
这完全是混乱和不可控的。 接口定义了必须 实现的抽象方法,而不是 "必然 "的。而用你的方法,如果你忘了在某个地方重载一个方法,程序编译时就会像什么都没发生过一样,但程序会被调用,而不是需要的方法。
不是空白,而是一个 "未实施 "的例外。在C#中,它是无处不在的。
...如果你忘了在某个地方重载一个方法,程序编译时就会像什么都没发生过一样,但会调用一个空白的方法,而不是所需的方法。 这很正常...
顺便说一下,在MQL中就是这样工作的;(。
不是空白,而是一个 "未实施 "的例外。在C#中也是如此,它似乎到处都是。
顺便说一下,在MQL中就是这样工作的;()
不是这个问题,你提议在运行时捕捉错误,而这些错误可以(也应该)在编译时捕捉。
我认为这比为类建立模板<,,,,,,,>等结构要好。在你完成建立这样的 "阶级体系 "之前,它将打破你的大脑。
我认为这比为类建立模板<,,,,,,,>等结构要好。在你完成建立这样的 "阶级体系 "之前,它将打破你的大脑。
我宁愿用编译器绞尽脑汁,但我要确保我的程序能保证正确工作,并调用一个有效的方法,而不是什么疯狂的东西。
如果整个事物都有一个简单的基类,它大多出现在各个地方,然后动态投射去,它可能会成功)。