Questions tagged «oop»

面向对象的编程是一种使用“对象”的编程范式:由数据字段和方法及其相互作用组成的数据结构。


6
NodeJS中的JavaScript OOP:如何?
我已经习惯了Java中的经典OOP。 使用NodeJS在JavaScript中进行OOP的最佳实践是什么? 每个类都是一个带有module.export?的文件。 如何建立课程? this.Class = function() { //constructor? var privateField = "" this.publicField = "" var privateMethod = function() {} this.publicMethod = function() {} } 与(我什至不确定它是正确的) this.Class = { privateField: "" , privateMethod: function() {} , return { publicField: "" publicMethod: function() {} } } 与 this.Class = function() …

16
接口和类之间的区别是什么?为什么可以在类中直接实现方法,为什么要使用接口?
我知道这是一个非常基本的问题,但是一个面试官以非常棘手的方式问我,我很无助:( 我只知道接口的材料或理论定义,并且在我从事的许多项目中也都实现了它。但是我真的不明白为什么这样做有用。 我也不了解界面中的一件事。即例如,我们使用 conn.Dispose();在最后块。但是我看不到该类正在实现或继承IDisposableinterface(SqlConnection)类。我想知道如何才能调用方法名称。同样,我也不了解Dispose方法的工作原理,因为我们需要为所有接口方法使用自己的实现来实现函数体。那么接口如何被接受或命名为合同呢?直到现在,这些问题一直在我脑海中浮现,坦率地说,我从未见过任何好的线索可以用我能理解的方式解释我的问题。 像往常一样,MSDN看起来非常可怕,而且没有清晰的界线(伙计们,请高水平开发的人为借口,我强烈认为任何代码或文章都应该引起任何人的注意,因此,就像许多其他人所说的那样,MSDN没用)。 面试官说: 他有5种方法,并且很乐意直接在类中实现它,但是如果您必须使用Abstract类或接口,则选择哪种方法,为什么?我确实回答了我在各种博客中读到的所有内容,并说了抽象类和接口的优缺点,但是他不相信,他是在总体上试图理解“为什么使用接口”。即使我只能一次实现相同的方法,也不能改变它,但一般来说,“为什么抽象类”还是如此。 我在网络上看不到任何地方,我可以得到一篇文章来清楚地向我解释接口及其功能。我是众多程序员之一,他们仍然不了解接口(我知道我使用的理论和方法),但不满意我清楚地了解它。
117 c#  class  oop  interface  abstraction 


7
基于参数实型的重载方法选择
我正在尝试以下代码: interface Callee { public void foo(Object o); public void foo(String s); public void foo(Integer i); } class CalleeImpl implements Callee public void foo(Object o) { logger.debug("foo(Object o)"); } public void foo(String s) { logger.debug("foo(\"" + s + "\")"); } public void foo(Integer i) { logger.debug("foo(" + i + ")"); …
115 java  oop 


8
在PHP项目中,存在哪些模式来存储,访问和组织帮助器对象?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它当前不接受新的答案或互动。 在基于PHP的面向对象的项目中,如何组织和管理助手对象,如数据库引擎,用户通知,错误处理等? 假设我有一个大型PHP CMS。CMS分为各种类别。一些例子: 数据库对象 用户管理 用于创建/修改/删除项目的API 消息传递对象以向最终用户显示消息 上下文处理程序,可将您带到正确的页面 显示按钮的导航栏类 记录对象 自定义错误处理 等等 我正在处理一个永恒的问题,即如何最好地使这些对象可被需要它的系统的每个部分访问。 多年前,我的第一个方法是拥有一个$ application全局变量,其中包含这些类的初始化实例。 global $application; $application->messageHandler->addMessage("Item successfully inserted"); 然后,我切换到Singleton模式和工厂功能: $mh =&factory("messageHandler"); $mh->addMessage("Item successfully inserted"); 但我也不满意。单元测试和封装对我来说变得越来越重要,而据我所知,全局/单数背后的逻辑破坏了OOP的基本思想。 然后当然可以给每个对象一些指向它所需的辅助对象的指针,这可能是最干净,节省资源和易于测试的方式,但是从长远来看,我对此表示怀疑。 我研究过的大多数PHP框架都使用单例模式或访问初始化对象的函数。两种方法都很好,但是正如我所说,我都不满意。 我想扩大一下这里存在哪些常见模式的视野。我正在寻找从长期,真实世界的角度讨论此问题的示例,其他想法和指向资源的指针。 另外,我很想听听有关此问题的专业,利基或简单怪异的方法。
114 design-patterns  oop  php 

5
亚马逊采访问题:设计一个OO停车场[关闭]
在这里很难说出要问什么。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以目前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 7年前关闭。 设计一个OO停车场。它将具有哪些类和功能。应该说满了,空了,还可以找到代客泊车的地方。该停车场有3种不同类型的停车位:常规,残疾人和紧凑型。 谢谢!
114 oop 


10
PHP中的嵌套或内部类
我正在建立一个 为新网站用户类,但是这次我在考虑构建它有点不同... C ++,Java甚至 Ruby(可能还有其他编程语言)都允许在主类内部使用嵌套/内部类,这使我们可以使代码更加面向对象和组织化。 在PHP中,我想这样做: <?php public class User { public $userid; public $username; private $password; public class UserProfile { // some code here } private class UserHistory { // some code here } } ?> 这在PHP中可行吗?我该如何实现? 更新 如果不可能,将来的PHP版本是否可能支持嵌套类?
111 php  class  oop  nested  inner-classes 


8
我在哪里使用代表?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 7年前关闭。 改善这个问题 在现实世界中,有哪些地方需要代表?我很好奇这种方法是最佳解决方案的情况或模式。无需代码。


5
什么是__del__方法,如何调用?
我正在阅读代码。有一个__del__定义方法的类。我发现此方法用于销毁该类的实例。但是,我找不到使用此方法的地方。这样做的主要原因是我不知道如何使用此方法,可能不是这样:obj1.del()。那么,我的问题是如何调用该__del__方法?
108 python  oop 

5
何时使用“ raise NotImplementedError”?
是为了提醒自己和您的团队正确实施课堂吗?我没有完全使用像这样的抽象类: class RectangularRoom(object): def __init__(self, width, height): raise NotImplementedError def cleanTileAtPosition(self, pos): raise NotImplementedError def isTileCleaned(self, m, n): raise NotImplementedError
108 python  oop 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.