Questions tagged «oop»

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



15
什么时候应该使用结构而不是类?
MSDN说,当您需要轻量级对象时,应该使用结构。在某个结构比一类更可取的情况下,还有其他情况吗? 有些人可能忘记了: 结构可以有方法。 结构不能被继承。 我了解结构和类之间的技术差异,只是对何时使用结构感觉不太好。
303 .net  oop 

13
为什么需要设置原型构造函数?
在MDN文章“面向对象的Java语言简介”中有关继承的部分中,我注意到它们设置了prototype.constructor: // correct the constructor pointer because it points to Person Student.prototype.constructor = Student; 这有任何重要目的吗?可以省略吗?




18
我什么时候应该在课堂上使用“ this”?
我知道这this是指当前对象。但是我不知道何时真正需要使用它。例如,如果我使用x而不是this.x某些方法,会有什么区别吗?可能x会引用所考虑方法的局部变量吗?我的意思是仅在此方法中可见的变量。 那this.method()呢 我可以使用吗?我应该使用它吗?如果仅使用method(),默认情况下是否不会将其应用于当前对象?
267 java  oop  this 

13
如何在C ++中创建静态类?
如何在C ++中创建静态类?我应该能够做类似的事情: cout << "bit 5 is " << BitParser::getBitAt(buffer, 5) << endl; 假设我创建了BitParser该类。会是什么BitParser类的定义是什么样子?
263 c++  oop  class  syntax  static 

14
JavaScript中的类与静态方法
我知道这会起作用: function Foo() {}; Foo.prototype.talk = function () { alert('hello~\n'); }; var a = new Foo; a.talk(); // 'hello~\n' 但是如果我想打电话 Foo.talk() // this will not work Foo.prototype.talk() // this works correctly 我找到一些Foo.talk工作方法, Foo.__proto__ = Foo.prototype Foo.talk = Foo.prototype.talk 还有其他方法吗?我不知道这样做是否正确。您在JavaScript代码中使用类方法还是静态方法?
262 javascript  oop 


6
面向对象的Java最佳实践?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我发现自己用Javascript编写了一个大项目。我记得上一篇文章是一次冒险,因为骇客的JS很快就会变得不可读,我希望这段代码是干净的。 好吧,我正在使用对象来构建库,但是有几种方法可以在JS中定义事物,这意味着在范围,内存管理,名称空间等方面都有重要意义。EG: 使用var与否; 在文件中或以(function(){...})()jquery样式定义事物; 是否使用this; 使用function myname()或myname = function(); 在对象主体中定义方法或使用“原型”; 等等 那么,用JS在OO中进行编码时,最佳实践到底是什么? 这里确实有学术解释。只要能够处理高质量和鲁棒性的书籍,都欢迎链接到这些书籍。 编辑: 得到了一些读物,但我仍然对上述问题的答案和最佳实践非常感兴趣。
251 javascript  oop 

27
让二传手返回“ this”是否是错误的做法?
使Java中的setter返回“ this”是好是坏的主意? public Employee setName(String name){ this.name = name; return this; } 这种模式很有用,因为这样您就可以像这样链接设置器: list.add(new Employee().setName("Jack Sparrow").setId(1).setFoo("bacon!")); 代替这个: Employee e = new Employee(); e.setName("Jack Sparrow"); ...and so on... list.add(e); ...但是有点违反标准惯例。我想这可能是值得的,因为它可以使设置者做其他有用的事情。我已经看到此模式在某些地方使用过(例如JMock,JPA),但这似乎并不常见,并且仅用于定义非常明确的API,该模式随处可见。 更新: 我所描述的内容显然是有效的,但是我真正要寻找的是一些关于是否可以普遍接受以及是否存在陷阱或相关最佳实践的想法。我知道Builder模式,但是它比我描述的要复杂得多-正如Josh Bloch所描述的那样,有一个关联的静态Builder类用于对象创建。
249 java  design-patterns  api  oop 

17
子类是否继承私有字段?
这是一个面试问题。 子类是否继承私有字段? 我回答“否”,因为我们无法使用“常规OOP方式”访问它们。但是访问者认为它们是继承的,因为我们可以间接或使用反射来访问这些字段,并且它们仍然存在于对象中。 回来后,我在javadoc中找到了以下引号: 超类私人成员 子类不继承其父类的私有成员。 你知道面试官的观点有什么论据吗?
245 java  oop  inheritance  private 

10
UML箭头说明
我最近一直在研究UML,并在类之间使用普通的普通箭头绘制简单的图,但是我知道这还不够。还有许多其他箭头:概括,实现等,它们对图阅读器有意义。 有没有很好的资源可以解释每个箭头(普通,普通,点缀,菱形,菱形)? 如果它将为他们提供一些代码示例,那将是最好的。
243 oop  uml 

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.