给OOP专家的一个问题。 - 页 42 1...353637383940414243444546474849...55 新评论 Реter Konow 2019.10.06 17:23 #411 Artyom Trishkin: 明确分类。 如果我们看到多个对象具有相同的属性,在一个父对象中描述这些属性是合乎逻辑的。 如果一个子对象覆盖了父对象的一个同名属性,这个属性必须是虚拟的。 如果该对象从不同的类中继承了属性和方法,怎么办? 如果我们处理的是一个 不断增长和动态重构的数据结构(知识库),我们需要使用已经准备好的对象的 "继承材料 "来创建新的对象。在这种情况下,对象将通过多重继承来合成,拾取额外的继承材料。因此,将无法正常运作。也就是说,只要多重继承一开始,我们就会迎来退化的对象。这就是问题所在... Artyom Trishkin 2019.10.06 17:30 #412 Реter Konow: 如果一个对象从不同的类中继承了属性和方法怎么办? 如果我们处理的是一个 不断增长和动态重构的数据结构(知识库),我们需要使用已经准备好的对象的 "继承材料 "来创建新的对象。在这种情况下,对象将通过多重继承来合成,拾取额外的继承材料。因此,将无法正常运作。也就是说,只要多重继承一开始,我们就会迎来退化的对象。这就是问题所在... 在一个新的对象中,不要使用 "剩下的 "父母的属性。不过我可以看到你的一些误解。为什么要从一个人身上 "生 "出一个不需要其属性的物体? Nikolai Semko 2019.10.06 17:30 #413 fxsaber: 相关的工具箱已经布置好了。除了作者,没有人需要它。 而且还需要有一个。但也没有人会需要它。 KB、文章等的情况也一样。 开发人员推出了自定义字符、服务、刻度线、缓存、点子,....我很惊讶他们这样做,因为只有少数人,如果有的话,需要这样的人。 让我们来看看测试器的新点数模式。谁需要它?-事实上没有人!它的诞生是其开发者对测试器进行重大算法优化的设想。谁明白它的用处?-没有人!在所有的事情上也是如此。 现在,测试仪正在进行重大修改。但这些修改对任何人都没有用。好吧,有一些极客会欣赏它。在目前的形式下,MT5-Tester比所有的竞争对手都更酷。但由于某些原因,他们想让它变得更酷。没有人能够评估其目前的功能,更不用说未来的功能。开发者比他们的用户高出好几头。而且很明显,测试者的变化动机不是货币化(如果没有人理解的话,根本不可能),而是一种做一些前所未有的事情的内部愿望。+ Реter Konow 2019.10.06 17:36 #414 Artyom Trishkin: 在新的对象中,不要使用 "剩下的 "父母的属性。不过,我看到对你有一些误解。 为什么要从一个属性不需要的对象中 "生 "出一个对象? 需要,但不完全需要。这个新对象使用了A类的3个属性,B类的5个属性,以及其他三个类的3个方法。 它应该如何处理这些类的其他属性?如何从他们那里限制它? Artyom Trishkin 2019.10.06 17:48 #415 Реter Konow: 需要,但不完全需要。这个新对象使用了A类的3个属性,B类的5个属性,以及其他三个类的3个方法。 它应该如何处理这些类的其他属性?如何从他们那里限制它? 将A类的3个属性打包成一个对象。继承自它。或者你可以不继承,而使具有三个属性的对象成为所需对象的属性。有一个循环系统--一个有多个对象的物体。有一个心脏物体作为循环系统的一部分。对于一个新的对象,如果在新对象中需要一个心脏,那么就从心脏对象继承,而不是从循环系统继承。 Andrey Barinov 2019.10.06 17:55 #416 Artyom Trishkin: 有一个循环系统--一个有许多对象的物体。有一个心脏物体作为循环系统的一部分。 对于一个新对象,如果在新对象中需要一个心脏,那么就从心脏对象继承,而不是从循环系统继承。 如果一个新的对象需要一个心,它不需要继承一个心。心脏应该成为新对象的一部分,作为一个成员。 如果新对象是一个祖先对象,则继承。而如果新的对象与另一个对象在一起,则使用包容。 Реter Konow 2019.10.06 18:00 #417 Artyom Trishkin: 将A类的3个属性打包成一个对象。继承自它。或者你可以不继承,但让一个有三个属性的对象成为所需对象的属性。 三个属性组合成一个对象,成为一个新对象的属性?这是一个值得思考的问题... 但是,通过许多长链的继承在每一步都会产生类似的问题。继承链越长、越多样化,最后几代对象的属性和方法就越 "混杂",也就越难将它们各自的继承链衍生到基础对象。 如果不继承--将无法访问基对象。如果是继承的,对象的多个 "父系 "就无法追踪其与基础对象的直接链条。 将它们自己的属性和方法与其他类隔离变得越来越困难。 Andrey Barinov 2019.10.06 18:02 #418 Реter Konow: 三个属性组合成一个对象,成为一个新对象的属性?这是一个值得思考的问题... 但是,通过许多长链的继承在每一步都会产生类似的问题。继承链越长、越多样化,最后几代对象的属性和方法就越 "混杂",也就越难将它们各自的继承链衍生到基础对象。 如果不继承--将无法访问基对象。如果是继承的,对象的多个 "父系 "就无法追踪其与基础对象的直接链条。 从其他类中提取它们自己的属性和方法变得越来越困难。 彼得,我强烈推荐你 https://en.wikipedia.org/wiki/Code_Complete Code Complete - Wikipedia en.wikipedia.org Code Complete Artyom Trishkin 2019.10.06 18:06 #419 Andrey Barinov: 如果在新的对象中需要心脏,就没有必要从心脏继承。心应该成为新对象的一部分,就像一个成员。 如果新对象是祖先对象,则继承。如果新对象包含另一个对象,则使用包含。 我不是这个意思。你知道我的意思。如果你想要一个具有父类属性的修改后的心。 Artyom Trishkin 2019.10.06 18:08 #420 Реter Konow: 三个属性组合成一个对象,成为一个新对象的属性?这是一个值得思考的问题... 但是,通过许多长链的继承在每一步都会产生类似的问题。继承链越长、越多样化,最后几代对象的属性和方法就越 "混杂",也就越难将它们各自的继承链衍生到基础对象。 如果不继承--将无法访问基对象。如果是继承的,对象的多个 "父系 "就无法追踪其与基础对象的直接链条。 将它们自己的属性和方法与其他类隔离变得越来越困难。 彼得。这就是为什么我说没有无意识的继承。明确的划分和分类。 1...353637383940414243444546474849...55 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
明确分类。 如果我们看到多个对象具有相同的属性,在一个父对象中描述这些属性是合乎逻辑的。
如果该对象从不同的类中继承了属性和方法,怎么办?
如果我们处理的是一个 不断增长和动态重构的数据结构(知识库),我们需要使用已经准备好的对象的 "继承材料 "来创建新的对象。在这种情况下,对象将通过多重继承来合成,拾取额外的继承材料。因此,将无法正常运作。也就是说,只要多重继承一开始,我们就会迎来退化的对象。这就是问题所在...
如果一个对象从不同的类中继承了属性和方法怎么办?
如果我们处理的是一个 不断增长和动态重构的数据结构(知识库),我们需要使用已经准备好的对象的 "继承材料 "来创建新的对象。在这种情况下,对象将通过多重继承来合成,拾取额外的继承材料。因此,将无法正常运作。也就是说,只要多重继承一开始,我们就会迎来退化的对象。这就是问题所在...
相关的工具箱已经布置好了。除了作者,没有人需要它。
而且还需要有一个。但也没有人会需要它。
KB、文章等的情况也一样。
开发人员推出了自定义字符、服务、刻度线、缓存、点子,....我很惊讶他们这样做,因为只有少数人,如果有的话,需要这样的人。
让我们来看看测试器的新点数模式。谁需要它?-事实上没有人!它的诞生是其开发者对测试器进行重大算法优化的设想。谁明白它的用处?-没有人!在所有的事情上也是如此。
现在,测试仪正在进行重大修改。但这些修改对任何人都没有用。好吧,有一些极客会欣赏它。在目前的形式下,MT5-Tester比所有的竞争对手都更酷。但由于某些原因,他们想让它变得更酷。没有人能够评估其目前的功能,更不用说未来的功能。开发者比他们的用户高出好几头。而且很明显,测试者的变化动机不是货币化(如果没有人理解的话,根本不可能),而是一种做一些前所未有的事情的内部愿望。
在新的对象中,不要使用 "剩下的 "父母的属性。不过,我看到对你有一些误解。 为什么要从一个属性不需要的对象中 "生 "出一个对象?
需要,但不完全需要。这个新对象使用了A类的3个属性,B类的5个属性,以及其他三个类的3个方法。
它应该如何处理这些类的其他属性?如何从他们那里限制它?
需要,但不完全需要。这个新对象使用了A类的3个属性,B类的5个属性,以及其他三个类的3个方法。
它应该如何处理这些类的其他属性?如何从他们那里限制它?
如果一个新的对象需要一个心,它不需要继承一个心。心脏应该成为新对象的一部分,作为一个成员。
如果新对象是一个祖先对象,则继承。而如果新的对象与另一个对象在一起,则使用包容。
将A类的3个属性打包成一个对象。继承自它。或者你可以不继承,但让一个有三个属性的对象成为所需对象的属性。
三个属性组合成一个对象,成为一个新对象的属性?这是一个值得思考的问题...
但是,通过许多长链的继承在每一步都会产生类似的问题。继承链越长、越多样化,最后几代对象的属性和方法就越 "混杂",也就越难将它们各自的继承链衍生到基础对象。
如果不继承--将无法访问基对象。如果是继承的,对象的多个 "父系 "就无法追踪其与基础对象的直接链条。
将它们自己的属性和方法与其他类隔离变得越来越困难。
三个属性组合成一个对象,成为一个新对象的属性?这是一个值得思考的问题...
但是,通过许多长链的继承在每一步都会产生类似的问题。继承链越长、越多样化,最后几代对象的属性和方法就越 "混杂",也就越难将它们各自的继承链衍生到基础对象。
如果不继承--将无法访问基对象。如果是继承的,对象的多个 "父系 "就无法追踪其与基础对象的直接链条。
从其他类中提取它们自己的属性和方法变得越来越困难。
彼得,我强烈推荐你
https://en.wikipedia.org/wiki/Code_Complete
如果在新的对象中需要心脏,就没有必要从心脏继承。心应该成为新对象的一部分,就像一个成员。
如果新对象是祖先对象,则继承。如果新对象包含另一个对象,则使用包含。
三个属性组合成一个对象,成为一个新对象的属性?这是一个值得思考的问题...
但是,通过许多长链的继承在每一步都会产生类似的问题。继承链越长、越多样化,最后几代对象的属性和方法就越 "混杂",也就越难将它们各自的继承链衍生到基础对象。
如果不继承--将无法访问基对象。如果是继承的,对象的多个 "父系 "就无法追踪其与基础对象的直接链条。
将它们自己的属性和方法与其他类隔离变得越来越困难。