OOP与程序化编程 - 页 34 1...272829303132333435363738394041...48 新评论 Georgiy Merts 2017.08.15 16:58 #331 Andrei:这就是问题的关键--如果你把所有的东西都与所有的东西隔离开来,处理这样的代码就会困难很多倍,更不用说当你需要知道所有必要变量的当前值时,不可能对代码进行充分的调试......。如果你写了一个类,它使用了交易处理器的接口--你不应该知道这个接口内的当前变量。 调试REMOTE部分。 如果你需要调试交易处理器本身--同样,你应该调试它,在这个类里面,你不应该知道任何变量,例如,来自输入信号发生器的变量。 这就是封装的本质--在每个地方,我们只用我们需要的东西来工作,不干扰其他地方。 Georgiy Merts 2017.08.15 16:59 #332 Andrei: 这不是关于低级别的问题,而是关于在那里流动的逻辑,以及在每个可能的时间点上变成什么,包括知道所有的内部变量......如果不理解所有这些多余的逻辑,对一个非作者使用这个代码的意义就完全消失了......你好... 你对Metatrader的工作原理了解很多吗?你知道MT的任何变量吗?但这并不妨碍你使用它。这是你应该在你的程序里面做的事情。有一些区块--它们使用预定义的接口进行互动,并且不会相互干扰。 Andrei01 2017.08.15 17:06 #333 George Merts:如果你写了一个类,它使用了交易处理器的接口--你不应该知道这个接口内的当前变量。 调试REMOTE部分。 如果你需要调试交易处理器本身--同样,你应该调试它,而且是在这个类里面--你不应该知道任何变量,比如说,来自输入信号发生器。 这就是封装的本质--在每个特定的地方,我们只用我们需要的东西来工作,不干扰其他地方。 如果你曾经写过一个稍微复杂的计算算法,你一定注意到总是有很多变量,这些变量需要在不同的地方进行多次处理,并且能够在程序的不同部分随时控制其数值...你如何能在这种情况下增加对对象的所有内部内容的封装,使其远离外部世界是不清楚的....。 Andrei01 2017.08.15 17:08 #334 George Merts:你好... 你对Metatrader的工作原理了解很多吗?你知道MT的任何变量吗?但这并不妨碍你使用它。你应该在你的程序中这样做。有一些区块--它们使用预定义的接口进行互动,并且不相互干扰。 小心,我们说的不是内部的MT变量,我们说的是内部的对象变量,你已经将其隔离,防止在调试和编写代码时读取其数值的可能性...... Ihor Herasko 2017.08.15 17:11 #335 Andrei: 小心,我们说的不是内部MT变量,我们说的是你已经隔离的内部对象变量,防止在调试和编写代码时读取其值的可能性......如果其他地方需要内部对象变量,那就不再是内部对象变量了,你必须考虑构建该对象的逻辑(很可能又要把它分成小对象)。作为最后的手段,如果真的有必要,而且没有其他方法,就在接口中做一个公共访问的Get-方法。 TheXpert 2017.08.15 17:12 #336 George Merts: 安德烈甚至比彼得或桑桑尼茨更有临床经验,你是在浪费你的时间 Maxim Kuznetsov 2017.08.15 17:14 #337 Andrei: 如果你曾经写过一个稍微复杂的计算算法,你一定看到总是有很多变量,你需要在不同的地方多次处理这些变量,并且能够随时控制它们在程序的不同部分的值...你如何能在这种情况下增加对对象的所有内部内容的封装,使其远离外部世界是不清楚的....。这样的事情表明,是你,不幸的是,几乎什么都没写 :-(系统中如此混乱! Andrei01 2017.08.15 17:16 #338 Ihor Herasko: 如果内部对象变量在其他地方被需要,它们就不再是内部对象变量。作为最后的手段,如果真的需要,而且没有其他办法,就在接口中做一个公开访问的Get-方法。是的......你不禁要问,这里面到底有什么呢 :)我们的想法是要有一个足够的编程语言,以最小的手势方便调试和编写代码,而这里我们有一个完全相反的情况...... Andrei01 2017.08.15 17:18 #339 Maxim Kuznetsov:这样的事情表明,是你,不幸的是,几乎什么都没写 :-(系统中如此混乱! 如果你能在讨论中少一些情绪化和反思,多一些具体的东西,你就不会有什么价值。:) Georgiy Merts 2017.08.15 17:20 #340 Andrei: 如果你曾经写过一个稍微复杂的计算算法,你一定注意到,总有许多变量必须在不同的地方进行多次处理,而且你必须能够随时控制它们在程序不同部分的值...在这种情况下,你如何将对象的所有内部内容从外部世界添加到封装中,目前尚不清楚....。你好。 如果一个区块需要另一个区块的数据--就会声明一个适当的虚拟接口来提供这种能力。在这里,交易处理器的功能--在程序的不同部分都需要,在输入的发生器中,在跟踪和退出的控制器中,在停止交易的控制器中。这些程序块中的每一个--都可以引用专家顾问对象,并获得交易处理器接口。同时--没有人可以直接访问这个处理器--只能通过一个预定义的接口。 在其他地方也是如此--如果需要一些数据--那么这个块必须提供适当的接口。 问题是,程序中的任何一点都只能访问它所需要的变量,而不能访问任何其他变量。 1...272829303132333435363738394041...48 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这就是问题的关键--如果你把所有的东西都与所有的东西隔离开来,处理这样的代码就会困难很多倍,更不用说当你需要知道所有必要变量的当前值时,不可能对代码进行充分的调试......。
如果你写了一个类,它使用了交易处理器的接口--你不应该知道这个接口内的当前变量。 调试REMOTE部分。
如果你需要调试交易处理器本身--同样,你应该调试它,在这个类里面,你不应该知道任何变量,例如,来自输入信号发生器的变量。
这就是封装的本质--在每个地方,我们只用我们需要的东西来工作,不干扰其他地方。
这不是关于低级别的问题,而是关于在那里流动的逻辑,以及在每个可能的时间点上变成什么,包括知道所有的内部变量......如果不理解所有这些多余的逻辑,对一个非作者使用这个代码的意义就完全消失了......
你好...
你对Metatrader的工作原理了解很多吗?你知道MT的任何变量吗?但这并不妨碍你使用它。
这是你应该在你的程序里面做的事情。有一些区块--它们使用预定义的接口进行互动,并且不会相互干扰。
如果你写了一个类,它使用了交易处理器的接口--你不应该知道这个接口内的当前变量。 调试REMOTE部分。
如果你需要调试交易处理器本身--同样,你应该调试它,而且是在这个类里面--你不应该知道任何变量,比如说,来自输入信号发生器。
这就是封装的本质--在每个特定的地方,我们只用我们需要的东西来工作,不干扰其他地方。
你好...
你对Metatrader的工作原理了解很多吗?你知道MT的任何变量吗?但这并不妨碍你使用它。
你应该在你的程序中这样做。有一些区块--它们使用预定义的接口进行互动,并且不相互干扰。
小心,我们说的不是内部MT变量,我们说的是你已经隔离的内部对象变量,防止在调试和编写代码时读取其值的可能性......
如果其他地方需要内部对象变量,那就不再是内部对象变量了,你必须考虑构建该对象的逻辑(很可能又要把它分成小对象)。作为最后的手段,如果真的有必要,而且没有其他方法,就在接口中做一个公共访问的Get-方法。
如果你曾经写过一个稍微复杂的计算算法,你一定看到总是有很多变量,你需要在不同的地方多次处理这些变量,并且能够随时控制它们在程序的不同部分的值...你如何能在这种情况下增加对对象的所有内部内容的封装,使其远离外部世界是不清楚的....。
这样的事情表明,是你,不幸的是,几乎什么都没写 :-(
系统中如此混乱!
如果内部对象变量在其他地方被需要,它们就不再是内部对象变量。作为最后的手段,如果真的需要,而且没有其他办法,就在接口中做一个公开访问的Get-方法。
是的......你不禁要问,这里面到底有什么呢 :)我们的想法是要有一个足够的编程语言,以最小的手势方便调试和编写代码,而这里我们有一个完全相反的情况......
这样的事情表明,是你,不幸的是,几乎什么都没写 :-(
系统中如此混乱!
如果你曾经写过一个稍微复杂的计算算法,你一定注意到,总有许多变量必须在不同的地方进行多次处理,而且你必须能够随时控制它们在程序不同部分的值...在这种情况下,你如何将对象的所有内部内容从外部世界添加到封装中,目前尚不清楚....。
你好。
如果一个区块需要另一个区块的数据--就会声明一个适当的虚拟接口来提供这种能力。在这里,交易处理器的功能--在程序的不同部分都需要,在输入的发生器中,在跟踪和退出的控制器中,在停止交易的控制器中。这些程序块中的每一个--都可以引用专家顾问对象,并获得交易处理器接口。同时--没有人可以直接访问这个处理器--只能通过一个预定义的接口。
在其他地方也是如此--如果需要一些数据--那么这个块必须提供适当的接口。
问题是,程序中的任何一点都只能访问它所需要的变量,而不能访问任何其他变量。