就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前.我最初的问题过于含糊,“因为没有建设性而被关闭”。因此,我将修改这个问题,以迎合已经发布的答案。:-)我对Perl的MooseOO框架之间的区别很感兴趣Moose和Python的股票OO框架。作为比较的第一点,创建一个具有几个属性和几个方法的简单类有多容易?现在,如果这个问题被重新提出,我也想知道:如果我决定将属性设为“只读”,将来重构代码有多容易?
似乎许多OO讨论都使用Java或C#作为示例(例如HeadFirstDesignPatterns)。这些模式是否同样适用于Python?或者如果我遵循设计模式,我最终会用Python编写Java(这显然是一件非常糟糕的事情)吗? 最佳答案 最大的区别在于Python是鸭子类型的,这意味着您不需要像在Java中那样详细地规划类层次结构,并且具有一流的函数。例如,当您可以只传入一个函数而不是为了模拟高阶函数而必须制作接口(interface)等时,策略模式变得更加简单和明显。更一般地说,Python具有许多常见设计模式的语法糖,例如迭代
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭3年前。Improvethisquestion我正在阅读ProgrammingScala.在第4章的开头,作者评论说Java支持静态方法,这是“不那么纯粹的OO概念”。为什么会这样? 最佳答案 面向对象是关于三件事:消息传递,状态进程的本地保留、保护和隐藏,以及所有事物的极端后期绑定(bind)。在这三个中,最重要的一个是消息传递。静态方法至少违反了消息传递和后期绑定(bind)。
已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭4年前。Improvethisquestion有没有更现代的,也许是面向对象的,相当于JackCrenshaw的“Let'sBuildaCompiler”系列?不久前,我偶然发现了“Let'sBuildaCompiler”,忍不住写了一些代码。我用C#编写了一个递归下降C编译器,它输出.NETCIL。“一次编写,到处泄漏”是我的口号。很遗憾,我直到为时已晚才意识到解析C是一场噩梦。我现在有兴趣用Jav
我一直面临着如何区分委托(delegate)、组合和聚合的问题,并确定在哪些情况下最好使用其中一种。我查阅了一本JavaOO分析和设计书籍,但我的困惑仍然存在。主要解释是这样的:委托(delegate):当我的对象按原样使用另一个对象的功能而不更改它时。组合:我的对象由其他对象组成,这些对象在我的对象被销毁-垃圾收集后又不能存在。聚合:我的对象由其他对象组成,这些对象即使在我的对象被销毁后仍然可以存活。是否有可能有一些简单的例子来说明每个案例,以及它们背后的原因?除了我的对象只是引用另一个对象之外,这些示例还能如何演示? 最佳答案
已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于StackOverflow来说是题外话,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我想为sqlite找到一个好的面向对象的C++(而不是C)包装器。人们推荐什么?如果您有几个建议,请将它们放在单独的回复中以供投票。另外,请说明您是否对您建议的包装器有任何经验,以及您是如何使用它的。 最佳答案
在工作中进行大规模重构期间,我希望引入stdClass*****作为从函数返回数据的一种方式,并且我正在尝试找到非主观的论据来支持我的决定。在什么情况下最好使用一种代替另一种??使用stdClass代替数组有什么好处??有些人会说函数必须尽可能少和特定才能返回单个值。我使用stdClass的决定是暂时的,因为我希望从长远来看为每个进程找到正确的值对象。 最佳答案 通常的做法是在返回具有固定分支的已定义数据结构时使用对象:$person->name="John"->surname="Miller"->address="123FakeS
在工作中进行大规模重构期间,我希望引入stdClass*****作为从函数返回数据的一种方式,并且我正在尝试找到非主观的论据来支持我的决定。在什么情况下最好使用一种代替另一种??使用stdClass代替数组有什么好处??有些人会说函数必须尽可能少和特定才能返回单个值。我使用stdClass的决定是暂时的,因为我希望从长远来看为每个进程找到正确的值对象。 最佳答案 通常的做法是在返回具有固定分支的已定义数据结构时使用对象:$person->name="John"->surname="Miller"->address="123FakeS
BUAA_OO_U4_Summary目录BUAA_OO_U4_Summary一/架构设计1.0>题目解析1.1>HW131.1.1>关于UML1.1.2>关于类图1.1.3>找到全部父接口1.1.4>代码构架1.2>HW141.2.1>关于状态图1.2.2>关于顺序图1.2.3>代码构架1.3>HW151.3.1>迭代开发1.3.2>读不懂指导书1.3.3>代码构架二/架构设计思维及OO方法理解的演进2.1>架构设计2.2>oo方法理解三/测试理解与实践的演进五/课程收获六/改进建议一/架构设计1.0>题目解析实现UML类图的分析。1.1>HW131.1.1>关于UML从JML到UML,对于从
BUAA_OO_U4_Summary目录BUAA_OO_U4_Summary一/架构设计1.0>题目解析1.1>HW131.1.1>关于UML1.1.2>关于类图1.1.3>找到全部父接口1.1.4>代码构架1.2>HW141.2.1>关于状态图1.2.2>关于顺序图1.2.3>代码构架1.3>HW151.3.1>迭代开发1.3.2>读不懂指导书1.3.3>代码构架二/架构设计思维及OO方法理解的演进2.1>架构设计2.2>oo方法理解三/测试理解与实践的演进五/课程收获六/改进建议一/架构设计1.0>题目解析实现UML类图的分析。1.1>HW131.1.1>关于UML从JML到UML,对于从