mql5中的OOP、模板和宏,细微之处和用途 - 页 7

 
Ilya Malev:

在我看来,这并不是那么糟糕。在我看来,C#中没有那么多基本的核心接口(我不是C#专家),以至于它们的方法不能被简化为一个基本的超类,然后由需要什么的人继承。

你说的 "谁需要什么就继承谁 "是什么意思? 不是继承整个类,而是继承它的一部分?) 我不知道有这样一个函数
 
Alexey Navoykov:
你说的 "继承你需要的东西 "是什么意思? 继承的不是整个类,而是它的一部分?)我对这种功能不熟悉。

不,我的意思是定义许多虚拟函数,并根据需要在继承者中重载它们。

 
Ilya Malev:

不,我的意思是定义许多虚拟函数,并根据需要在继承者中重载它们。

这完全是混乱和缺乏控制。 接口定义了必须 实现的抽象方法,而不是 "必然 "的。在你的方法中,如果你忘了在某个地方重载一个方法,程序的编译就会像什么都没发生过一样,但所需要的方法会被称为dummy。
 
Alexey Navoykov:
这完全是混乱和不可控的。 接口定义了必须 实现的抽象方法,而不是 "必然 "的。而用你的方法,如果你忘了在某个地方重载一个方法,程序编译时就会像什么都没发生过一样,但程序会被调用,而不是需要的方法。

不是空白,而是一个 "未实施 "的例外。在C#中,它是无处不在的。

 
Alexey Navoykov:
...如果你忘了在某个地方重载一个方法,程序编译时就会像什么都没发生过一样,但会调用一个空白的方法,而不是所需的方法。 这很正常...

顺便说一下,在MQL中就是这样工作的;(。

 
Ilya Malev:

不是空白,而是一个 "未实施 "的例外。在C#中也是如此,它似乎到处都是。

不是这个问题,你提议在运行时捕捉错误,而这些错误可以(也应该)在编译时捕捉。
 
Vasiliy Sokolov:

顺便说一下,在MQL中就是这样工作的;()

你是说他们的标准库?)
 
Alexey Navoykov:
不是这个问题,你提议在运行时捕捉错误,而这些错误可以(也应该)在编译时捕捉。

我认为这比为类建立模板<,,,,,,,>等结构要好。在你完成建立这样的 "阶级体系 "之前,它将打破你的大脑。

 
Ilya Malev:

我认为这比为类建立模板<,,,,,,,>等结构要好。在你完成建立这样的 "阶级体系 "之前,它将打破你的大脑。

我宁愿用编译器绞尽脑汁,但我要确保我的程序能保证正确工作,并调用一个工作方法,而不是其他东西。
 
Alexey Navoykov:
我宁愿用编译器绞尽脑汁,但我要确保我的程序能保证正确工作,并调用一个有效的方法,而不是什么疯狂的东西。

如果整个事物都有一个简单的基类,它大多出现在各个地方,然后动态投射去,它可能会成功)。

原因: