PLO - 页 4

 
mrProF:

我的错误--"没有可以用OOP编写的任务,也没有可以不用OOP编写的任务"。


出于某种原因,我就是这样理解的。
 
尝试在MQL4中实现列表、树、图。这是不可能的。在MQL5中,这是很容易做到的;你甚至不需要重新发明轮子,你可以在С++中找到代码,并以最小的工作量使用它。当然,我作为一个例子提到的类型最好设计成类。现在,神经网络、模糊逻辑和其他许多东西都可以在MQL5中实现。但毫无疑问的是,每一种工具都应该适合要解决的任务,而OOP应该只在必要时使用。那些斥责新功能的人的呼喊是可笑的。如果你不喜欢它,就不要使用它,没有人强迫你使用它。使用函数式编程。
 
FoxRex:
尝试在MQL4中实现列表、树、图。这是不可能的。在MQL5中,这很容易做到,你甚至不需要重新发明轮子,只需在С++中找到一些代码,然后用最少的工程来使用它。当然,我作为一个例子提到的类型最好设计成类。现在,神经网络、模糊逻辑和其他许多东西都可以在MQL5中实现。但毫无疑问的是,每一种工具都应该适合要解决的任务,而OOP应该只在必要时使用。那些斥责新功能的人的呼喊是荒谬的。如果你不喜欢它,就不要使用它,没有人强迫你使用它。使用函数式编程。

不要把 "不可能 "和 "困难 "混为一谈,没有什么任务是程序化编程不能解决的,同时又能用OOP解决的,我是指程序的最终功能...
而在一般情况下,你可以用汇编语言编写,你可以放松,服务现成的:)

OOP是基于同样的过程性编程,增加了数据和函数的隔离。
例如,用OOP写一个 "Hello world!"的程序需要更长的时间,但写一个大型项目 却更快。 选择写OOP还是不写OOP的边缘非常模糊,取决于程序员的经验、目的和偏好。
就我个人而言,在大多数情况下,写OOP更方便,因为我知道它的 "瓶颈 "和 "宽度",并且有OOP编程的经验(C++,JavaScript,PHP)。
但如果我写一些简短的测试脚本,我不会使用OOP。

建议:在实际问题中改用OOP之前,你应该在简单的例子上进行练习,例如,写一个将两个数字相加的类,等等。
你不可能在一本关于OOP的书中读到,并在没有实践的情况下开始用它来编写严肃的程序。
你必须习惯它,开始用OOP的方式思考,看看你必须把什么设计成一个类,什么不需要。

 
列表、树、图,在MQL4中是不可能有指针的。
 
FoxRex:
列表、树、图,在MQL4中是不可能有指针的。

请注意,这是一个实现,而不是一个结果。
我们是为结果(程序)编程,还是为程序的实施编程?
我们可以不使用所有这些方法,而在数组和值传递上进行组织。
这很复杂,很耗时,但却是可能的。

 
mrProF:

请注意,这是一个实现,而不是一个结果。
我们是为结果(程序)编程,还是为程序的实施编程?
你可以不使用所有这些方法,将它们安排在数组和值传递上。
这很复杂,很耗时,但却是可能的。

那些 "出生 "在WindowsOOP 时代的人不能理解DOS C/Turbo Pascal(更不用说Asm)......

当然是IMHO,但....

 
Interesting:

那些 "出生 "在WindowsOOP 时代的人无法理解DOS C/Turbo Pascal(更不用说Asm)是什么。

当然是IMHO,但....

为破解者了解什么是asm :)
你必须尝试所有的变化,因为程序员可以同时用几种方法解决一个问题 :)
但在Asm中调试程序是令人沮丧的:)
 
mrProF:

请注意,这是实施,而不是结果。
我们是为结果(程序)编程,还是为程序的实施编程?
可以不使用所有这些方法,而在数组和值传递上组织。
这很复杂,很耗时,但却是可能的。

我同意,只要阵列是动态的,我们实际上可以做到这一点。但你同意,这不是一个非常优雅的解决方案。用汇编程序做这件事比较容易。而OPP诞生于Windows之前。他的想法帮助我用汇编语言为MS/CT编程。 而我的第一本编程教科书是Knuth的三卷本。
 
FoxRex:
我同意,只要数组是动态的,就可以做到这一点。但你必须同意,这不是一个非常优雅的解决方案。在汇编程序中更容易做到这一点。但OPP诞生于Windows之前。他的想法帮助我用汇编语言为MS/CT编程。而我的第一本编程教科书是Knuth的三卷本。
我同意。
所以,仔细想想--"OOP很方便" :)

还有:"如果你不习惯使用OOP,就不要使用它" :)

两个简单的概念...

 
mrProF:

OOP对于大型程序来说是一件好事。
如果代码少于50行,你就不需要OOP。
但当代码变得非常大时,几乎不可能了解什么属于什么,只能通过注释来了解。
当变量没有按预期共享时,出错的概率就会增加;这是一个混乱。
在OOP中,变量可以和方法(函数)一起存储在一个容器(类)中。

没有什么任务可以用OOP来写,也没有什么任务可以不用OOP来写。
这是一个方便的问题))

OOP不是一种解决问题的方法,而是一种代码结构的方式。

如果程序变得比 "Hello word "大,你就需要使用OOP

总的来说,我认识MQL4已经好几年了,我不能不对它的狼狈不堪感到惊讶。第四个MQL与古典C的能力相比,就像星星一样遥远。在MQL5中,开发人员决定继续前进。功能的数量增加了,编程也变得更容易了。语言变得更加复杂,是的,但产品不是为学校学生创造的。

原因: