给OOP专家的一个问题。 - 页 25 1...181920212223242526272829303132...55 新评论 Alexey Viktorov 2019.09.01 20:09 #241 Igor Makanu: OOP的概念本身就意味着不写--你必须不知道方法的实现(在你的例子中,返回(SymbolSelect(m_name,select)) 想象一下,而不是这句话。 你必须做大量的查询和各种检查等。- 这将花费你的时间来编写你自己的库和研究材料 假设你的任务只是使用一个类形式的现成解决方案中的一个方法--你创建一个类(对象)的实例并使用现成的Select(const bool select)方法 如果你不打算执行这样的操作,释放内存=删除对象 假设你的任务是显示一个按钮,通过按下它,你可以启用/禁用市场观察中的符号------创建你的类并封装现成的按钮类和现成的CSymbolInfo类----任务完成了 OOP范式只给出了一个类可以做什么的一般信息--你不想封装CSymbolInfo--那就从它那里继承你的类。 我相信,我不明白,我也不接受。当你有一个具体的任务,没有这些注意事项是做不到的,那么 "精神启蒙 "和理解就会到来。但就目前而言,从我的观点来看,仅仅是花哨的小玩意并不总是 合理的。不总是这样并不意味着从来没有。我 很乐意使用Ctrade班,但我不采取上述的方式。如果说文档中对SymbolSelect函数的描述并不难找,在SB中已经很难找到描述了。 伊戈尔-马卡努。 HH:"一言以蔽之",OOP的本质 是在不了解实现的情况下 快速解决某个问题。 在这种情况下,你必须知道如何调用所需的方法,在哪里找到它等等,而不是知道实现。这是编程语言中的一种语言吗? 人们可以理解,如果一个项目需要有一个对象的几个实例。但是到目前为止,除了上面提到的Artem的演示,我还没有看到任何这样的实现。在这种情况下,很明显,它更好,更容易,更简单,但我没有完全理解,正是因为没有必要,缺乏任务。为了单次使用mql5函数而改变对象是没有意义的。这是我的推理。 Igor Makanu 2019.09.01 20:46 #242 Alexey Viktorov: 在这种情况下,你需要知道如何调用正确的方法,在哪里找到它等等,而不是知道实现。这是编程语言中的一种语言吗? 看一下文件,所有公开发布的东西都有手册,可以说是道德的。 这不是一种风格,而是一种范式!- 一个概念,礼仪的规则,没有人被迫这样写,但由于某种原因,这是最常见的风格。 Alexey Navoykov 2019.09.01 21:27 #243 Igor Makanu: OOP的本质 是在不了解实现的情况下快速解决一个特定的任务。 你可以通过传递一个带有数据的结构来调用一个函数,并在不知道该函数实现的情况下得到一个同样快速的解决方案。 Igor Makanu 2019.09.01 21:49 #244 Alexey Navoykov: 你可以调用一个函数,将一个带有数据的结构传入其中,并得到一个同样快速的解决方案,而无需了解该函数的实现。 是的,但你的方法会受到限制,在OOP中,你也可以继承--即使不知道实现,也可以添加到你的任务中,首先想到的是--带圆边的按钮,网上有大量的例子。 SZZ:而通过构造函数展开一个对象的逻辑是相当方便的。 Vladimir Simakov 2019.09.01 21:50 #245 Реter Konow: 一个类是对一个对象的描述。很好。包含该对象的属性和功能。好的。所有这些都是有序的,开放的或保护的。 那么物体本身就不在画面中了。它是在班级的范围内。从其名称和描述来看。也就是说,在OOP中,对象,正是一组属性(不仅是属性,还有功能元素--方法),但比我的更有秩序,更有封装性。(这对我来说更有意义)。 彼得,谷歌最后介绍了类,它们在内存分配、方法调用的背景下是什么,也就是说,对编译器来说,它们都转化为什么。之后大部分问题都会自己蒸发掉。 Реter Konow 2019.09.01 21:58 #246 Petros Shatakhtsyan: 你必须阅读书籍才能理解它。至少在21天内完成VC++。 我建议你第一次使用MFC,创建一个基于CDialog的windows应用程序,创建各种对象,看看它们是如何被轻松管理的。 之后,你将丢弃你的风险。不幸的是。 嗯,那是不太可能的。关键是我发现我的方法和OOP之间几乎没有概念上的差异。我的方法也是面向对象的。 对象被封装在内核中,并有非常具体的表示。它们通过指针连接,形成复合体--元素、窗口...。如果你超越了图形,创造了不同形式的内核,其中包括更多的多样性,它将和OOP中一样好。 方法上的区别在于编写代码的风格、语法和分配功能的方法。在我的方法中,功能倾向于被合并,而在OOP中,功能倾向于被分割。功能的合并可以保证提高系统的效率和少量的语法,而功能的分割则有利于代码的可移植性。它允许模块的插入。一般来说,这些是区别。 当然,我的方法还不具备那种广泛的 "客观性"。但是,我已经有了如何解决这个问题的想法。一个内核是单一类型的,这就限制了存储在其中的属性,但一个内核不一定是单一的矩阵。它可以是一个复合型的果核。主要优点是对象的数字化表示,不需要冗长的描述、额外的语法和功能的碎片化。 但是,OOP对我来说是非常有趣的。我将从中学习)。 Реter Konow 2019.09.01 22:04 #247 Vladimir Simakov: 彼得,最后是谷歌类,它们在内存分配、方法调用方面是什么,也就是说,编译器将其全部转换为什么。之后大部分问题都会自行消失。 好的。我一定会去查的。 Реter Konow 2019.09.10 14:06 #248 对OOP的概念进行了大量的思考,事情是这样的。 让我们从语法和技术术语中抽象出来,留下 "类"、"对象"、"属性"、"封装"、"多态性"、"继承 "等概念。我将描述这一概念的哲学 "根源"。 意识通过 "空间"、"时间 "和 "物质 "的棱镜来感知现实(这是感觉器官的工作方式),而 "物体 "是它们持续互动的一个离散结果。 互动形式的多样性产生了各种对象,这些对象被主体的无意识 "种植 "在某个 "框架 "上。 这个框架有一个分支的、层叠的结构,被 "建造 "在无意识中,是其 "原型 "之一。该框架接受新的和新的对象(关于它们的信息),这些对象分布在其结构中。 这就是OOP概念的来源。这是模仿无意识的 "算法 "对物体进行有意识的分配和结合。 在掌握了自己的思维方法后,主体能够在大脑的 "追踪 "机制中模拟其工作--计算机。即使计算机只是大脑的可悲模仿,但人本身只感知到客观世界的影子。 级联,分支原型,是物体、属性、过程和所有信息在我们一般记忆中的分布 "模式"。它是一种生物工具,用于简化对现实的感知,构建我们周围世界的模型。 它是大自然赋予我们的。 对我们自己的 "自然"(即无意识的)信息处理机制的认识是使用OOP 所必需的自我认识水平。 在 "人工 "应用的背景下,考虑这种隐含的、生物的、促进记忆、学习和感知的 "树状 "原型。在OOP中,我们通过将对象的描述封装在类中来 "生产 "对象,在类中建立它们的属性和值。 对象的关系反映在它们的分类中,并通过属性和方法的继承从全局到私有来实现。实际上,它看起来是这样的:每一个私有对象只是一个对象,因此具有只是一个对象的所有属性+其私有属性。派生对象将把它的私有属性作为它们的共同属性,但会有它们的私有属性。此外,该链可以无限期地分支。这与对象的方法是一样的。一种方法反映了一种行动、一种互动、一个过程、一种状态的变化。对象的方法像属性一样从一般到私有分布。如果有一个一般的过程,每个离散的形式将有它自己的属性。 而这就是多态性。也就是说,与重载不同,多态性提供了一个底层函数的不同私有实现,同时保留了其基本机制。这就是 "功能性 "继承。 正如我们所看到的,OOP中的 "树状 "无处不在;无论你想出什么方案,你还是会得到一棵 "树")。但这是正确的,因为我们只是在复制我们自己无意识的信息工作模式。 Artyom Trishkin 2019.09.10 14:21 #249 Реter Konow: 一直在思考关于OOP的概念,这就是它。 ... 艰难。 彼得,你需要进入政治。这里不需要这样的人才--说得多,说得巧妙,说得难懂,而且什么都不说。 Реter Konow 2019.09.10 14:40 #250 Artyom Trishkin: ... 让我解释一下。底线是,OOP复制了我们记忆中信息的无意识分布。信息是以层叠和 "树状 "的方式 "摆放 "的。这是由无意识的原型(一种隐藏的机制)所制约的。人们已经 "感觉 "到了这种机制,并开始在编程中成功地应用它。OOP通过继承链实现了共同属性和函数的转移,按照我们无意识的方案。 随着对我们的意识和无意识思维如何工作有了更好的了解,我们将能够在计算机中复制其机制。我只是从技术细节中退了出来,看了看概念的根源。 1...181920212223242526272829303132...55 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
OOP的概念本身就意味着不写--你必须不知道方法的实现(在你的例子中,返回(SymbolSelect(m_name,select))
想象一下,而不是这句话。
你必须做大量的查询和各种检查等。- 这将花费你的时间来编写你自己的库和研究材料
假设你的任务只是使用一个类形式的现成解决方案中的一个方法--你创建一个类(对象)的实例并使用现成的Select(const bool select)方法
如果你不打算执行这样的操作,释放内存=删除对象
假设你的任务是显示一个按钮,通过按下它,你可以启用/禁用市场观察中的符号------创建你的类并封装现成的按钮类和现成的CSymbolInfo类----任务完成了
OOP范式只给出了一个类可以做什么的一般信息--你不想封装CSymbolInfo--那就从它那里继承你的类。
我相信,我不明白,我也不接受。当你有一个具体的任务,没有这些注意事项是做不到的,那么 "精神启蒙 "和理解就会到来。但就目前而言,从我的观点来看,仅仅是花哨的小玩意并不总是 合理的。不总是这样并不意味着从来没有。我 很乐意使用Ctrade班,但我不采取上述的方式。如果说文档中对SymbolSelect函数的描述并不难找,在SB中已经很难找到描述了。
HH:"一言以蔽之",OOP的本质 是在不了解实现的情况下 快速解决某个问题。
在这种情况下,你必须知道如何调用所需的方法,在哪里找到它等等,而不是知道实现。这是编程语言中的一种语言吗?
人们可以理解,如果一个项目需要有一个对象的几个实例。但是到目前为止,除了上面提到的Artem的演示,我还没有看到任何这样的实现。在这种情况下,很明显,它更好,更容易,更简单,但我没有完全理解,正是因为没有必要,缺乏任务。为了单次使用mql5函数而改变对象是没有意义的。这是我的推理。
在这种情况下,你需要知道如何调用正确的方法,在哪里找到它等等,而不是知道实现。这是编程语言中的一种语言吗?
看一下文件,所有公开发布的东西都有手册,可以说是道德的。
这不是一种风格,而是一种范式!- 一个概念,礼仪的规则,没有人被迫这样写,但由于某种原因,这是最常见的风格。
OOP的本质 是在不了解实现的情况下快速解决一个特定的任务。
你可以调用一个函数,将一个带有数据的结构传入其中,并得到一个同样快速的解决方案,而无需了解该函数的实现。
是的,但你的方法会受到限制,在OOP中,你也可以继承--即使不知道实现,也可以添加到你的任务中,首先想到的是--带圆边的按钮,网上有大量的例子。
SZZ:而通过构造函数展开一个对象的逻辑是相当方便的。
一个类是对一个对象的描述。很好。包含该对象的属性和功能。好的。所有这些都是有序的,开放的或保护的。
那么物体本身就不在画面中了。它是在班级的范围内。从其名称和描述来看。也就是说,在OOP中,对象,正是一组属性(不仅是属性,还有功能元素--方法),但比我的更有秩序,更有封装性。(这对我来说更有意义)。
你必须阅读书籍才能理解它。至少在21天内完成VC++。
我建议你第一次使用MFC,创建一个基于CDialog的windows应用程序,创建各种对象,看看它们是如何被轻松管理的。
之后,你将丢弃你的风险。不幸的是。
嗯,那是不太可能的。关键是我发现我的方法和OOP之间几乎没有概念上的差异。我的方法也是面向对象的。 对象被封装在内核中,并有非常具体的表示。它们通过指针连接,形成复合体--元素、窗口...。如果你超越了图形,创造了不同形式的内核,其中包括更多的多样性,它将和OOP中一样好。
方法上的区别在于编写代码的风格、语法和分配功能的方法。在我的方法中,功能倾向于被合并,而在OOP中,功能倾向于被分割。功能的合并可以保证提高系统的效率和少量的语法,而功能的分割则有利于代码的可移植性。它允许模块的插入。一般来说,这些是区别。
当然,我的方法还不具备那种广泛的 "客观性"。但是,我已经有了如何解决这个问题的想法。一个内核是单一类型的,这就限制了存储在其中的属性,但一个内核不一定是单一的矩阵。它可以是一个复合型的果核。主要优点是对象的数字化表示,不需要冗长的描述、额外的语法和功能的碎片化。
但是,OOP对我来说是非常有趣的。我将从中学习)。彼得,最后是谷歌类,它们在内存分配、方法调用方面是什么,也就是说,编译器将其全部转换为什么。之后大部分问题都会自行消失。
对OOP的概念进行了大量的思考,事情是这样的。
让我们从语法和技术术语中抽象出来,留下 "类"、"对象"、"属性"、"封装"、"多态性"、"继承 "等概念。我将描述这一概念的哲学 "根源"。
意识通过 "空间"、"时间 "和 "物质 "的棱镜来感知现实(这是感觉器官的工作方式),而 "物体 "是它们持续互动的一个离散结果。
互动形式的多样性产生了各种对象,这些对象被主体的无意识 "种植 "在某个 "框架 "上。 这个框架有一个分支的、层叠的结构,被 "建造 "在无意识中,是其 "原型 "之一。该框架接受新的和新的对象(关于它们的信息),这些对象分布在其结构中。 这就是OOP概念的来源。这是模仿无意识的 "算法 "对物体进行有意识的分配和结合。 在掌握了自己的思维方法后,主体能够在大脑的 "追踪 "机制中模拟其工作--计算机。即使计算机只是大脑的可悲模仿,但人本身只感知到客观世界的影子。 级联,分支原型,是物体、属性、过程和所有信息在我们一般记忆中的分布 "模式"。它是一种生物工具,用于简化对现实的感知,构建我们周围世界的模型。 它是大自然赋予我们的。 对我们自己的 "自然"(即无意识的)信息处理机制的认识是使用OOP 所必需的自我认识水平。
在 "人工 "应用的背景下,考虑这种隐含的、生物的、促进记忆、学习和感知的 "树状 "原型。在OOP中,我们通过将对象的描述封装在类中来 "生产 "对象,在类中建立它们的属性和值。 对象的关系反映在它们的分类中,并通过属性和方法的继承从全局到私有来实现。实际上,它看起来是这样的:每一个私有对象只是一个对象,因此具有只是一个对象的所有属性+其私有属性。派生对象将把它的私有属性作为它们的共同属性,但会有它们的私有属性。此外,该链可以无限期地分支。这与对象的方法是一样的。一种方法反映了一种行动、一种互动、一个过程、一种状态的变化。对象的方法像属性一样从一般到私有分布。如果有一个一般的过程,每个离散的形式将有它自己的属性。 而这就是多态性。也就是说,与重载不同,多态性提供了一个底层函数的不同私有实现,同时保留了其基本机制。这就是 "功能性 "继承。
正如我们所看到的,OOP中的 "树状 "无处不在;无论你想出什么方案,你还是会得到一棵 "树")。但这是正确的,因为我们只是在复制我们自己无意识的信息工作模式。
一直在思考关于OOP的概念,这就是它。
...艰难。
彼得,你需要进入政治。这里不需要这样的人才--说得多,说得巧妙,说得难懂,而且什么都不说。
...
随着对我们的意识和无意识思维如何工作有了更好的了解,我们将能够在计算机中复制其机制。我只是从技术细节中退了出来,看了看概念的根源。