在休息室谈论巴解组织的问题 - 页 7

 
Alexey Volchanskiy:

ZS:顺便说一句,在整个主题中,我没有看到一个希望报道任何话题的愿望,和往常一样,是惯常的争吵。

从最初的例子的选择来看,对报道的质量存在合理的怀疑

 
Alexey Volchanskiy:

我们能不能更具体地说明他们 是谁 他们还没有学到 什么?版主没有学会如何清洁或其他东西 )

ZS:顺便说一下,在整个主题中没有看到一个希望涉及任何话题的人,像往常一样争吵。所以我决定在YouTube上录制视频,从头开始介绍OOP的工作原理,至少会有一些用处。总之,过一段时间,该分支将在 branch_sucker 中结束。

让我更准确地说: 他们还没有学会如何使用OOP。

Alexey,我想你自己很清楚,你不能简单地学习OOP。有一个正式的OOP知识:继承封装多态性--所有这些咒语经常被重复,但有人背诵这些咒语并粗暴地、不恰当地应用,比如一个专家类要继承一个MM模块,弊大于利(向SB开发者问好:)。

至于MQL--就OOP而言,它是一种非常弱的语言:类型控制完全没有(至少他们做了一个安全的转换),反射处于起步阶段,非常有限,根本没有接口。问题出现了:在MQL中可以教授什么样的OOP?怎么说呢,如果开发者自己在标准库中 搞得一团糟,有时简直令人害怕。

 
Vasiliy Sokolov:

更准确地说: 我们没有学会OOP。

Alexey,我想你很清楚,你不可能只学习OOP。有一个正式的OOP知识:继承封装多态性--所有这些咒语经常被重复,但有人背诵这些咒语并粗暴地、不恰当地应用,比如一个专家类要继承一个MM模块,弊大于利(向SB开发者问好:)。

至于MQL--就OOP而言,它是一种非常弱的语言:类型控制完全没有(至少他们实现了安全铸造),反射处于起步阶段,非常有限,根本没有接口。问题出现了:在MQL中可以教授什么样的OOP?怎么说呢,如果开发者自己在标准库中 塑造了这样一个驼峰,有时就会让人害怕。

是的,它很弱,但中等程度的项目仍然可以完成。SB是由不同的人做的,有不同的培训水平。而且它缺乏精华,我还是用你的CD词典,它是桅杆上应有的东西。

那么,现在怎么办,躺下等死吗?))你毕竟可能会去做牙医。

我想,你可以学习OOP。我自己学的。其他人也是如此。

 
Alexey Volchanskiy:

而且你还可以学习OOP,我想。我自己学的。其他人也是如此。

所以你必须从正确的例子中学习。但在SB没有。以CObject为例--它不提供类型控制,不提供与对象有关的接口级工作,但它包含了像Save()和Load()这样毫无意义的方法,而这些方法在实践中从未被重新定义。m_prev和m_next指针在一个CList类中 使用,但作为压舱石存在于其所有的子类中。最有用的是Comparer()方法。实际上,它最经常被推翻。但从好的方面看,Comparer()是一个接口,它不应该被定义在CObject中,而是作为一个单独的类。

 
fxsaber:

显然,静态和常量(这不是OOP)是不需要的。

至于OOP,非常有趣的是,具有广泛实际应用的下一个函数(根本不是抽象的),在程序式中会是什么样子?

很明显,任何OOP都可以用程序化的方式重写。但我对实践感兴趣。所以我把上面的小代码,其中的OOP也用到了最小。

那么,在这个例子中,与OOP相比,程序式有多好/多方便/多可读/多正确呢?好了,不说几页了,只想比较一下短的源代码程序化与OOP。我要求OOP的对手展示一个大师级的作品。这不是可怕的MT5,而是古老的MT4。


你如何以同样的方式学习编程?:) 它看起来非常漂亮。

或者,也许你需要改变你的心态。

例如,我不知道结构的使用方式几乎与类相同,有一个构造函数

 
Maxim Dmitrievsky:

例如,我不知道结构的使用方式几乎与类相同,有一个构造函数

在C++中,类和结构是一样的,只是一些默认值不同。
 
Maxim Dmitrievsky:

什么模具可以用完全相同的方式学习编程?:) 它看起来非常漂亮

或者,也许你也需要改变你的心态。

例如,我不知道结构可以几乎像类一样使用,有一个构造函数

我想问:你在fxsaber的代码中看到了什么天才?也许是IsChange的副作用迷住了你,或者是系统状态必须在用户层面复制的想法?

 
Vasiliy Sokolov:

请问:你在fxsaber的代码中看到了什么天才?也许是IsChange的副作用让你着迷,或者是系统状态应该在用户层面复制的想法?


可能是因为我几乎不理解这个代码 :)

对不起,我是一个业余的程序员......我只熟悉OOP的基本水平

 
Комбинатор:
在C++中,类和结构是一样的,只是一些默认值不同。

这很好,我不知道......我想我只是需要更好地学习专业。

 
Vasiliy Sokolov:

所以你必须从正确的例子中学习。而在SB没有。以CObject为例--它不提供类型控制,不提供与对象有关的接口级工作,但它包含了毫无意义的方法,如Save()和Load(),这些方法在实践中从未被重新定义。m_prev和m_next指针在一个CList类中 使用,但作为压舱石存在于其所有的子类中。最有用的是Comparer()方法。实际上,它最经常被推翻。但从好的方面看,Comparer()是一个接口,它不应该被定义在CObject中,而是作为一个单独的类。

我一直对MQL的知识深度感到惊奇。我看了他们,甚至尝试使用CExpert,并开始制作自己的课程。我无法达到CObject和CExpert的高度。