问题标签 [oop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
18 回答
20352 浏览

您将如何从对象方法中访问对象属性?

从不是 getter/setter 方法的对象方法中访问对象属性的“纯粹”或“正确”方法是什么?

我知道从对象外部你应该使用 getter/setter,但从内部你会这样做:

爪哇:

PHP:

或者你会这样做:

爪哇:

PHP:

如果我的 Java 有点偏离,请原谅我,我已经一年没有用 Java 编程了......

编辑:

似乎人们假设我只是在谈论私有或受保护的变量/属性。当我学习 OO 时,我被教导要对每个单独的属性使用 getter/setter,即使它是公开的(实际上我被告知永远不要公开任何变量/属性)。所以,我可能是从一开始的错误假设开始的。似乎回答这个问题的人可能会说你应该拥有公共属性,而那些不需要 getter 和 setter,这与我所学的内容和我所说的内容背道而驰,尽管也许这需要讨论为好。不过,对于不同的问题,这可能是一个很好的话题……

0 投票
10 回答
4820 浏览

在这种情况下我应该使用嵌套类吗?

我正在研究一组用于视频播放和录制的类。我有一个主类,它的作用类似于公共接口,具有类似、、、等的方法......play()然后我有主力类,它们执行视频解码和视频编码。stop()pause()record()

我刚刚了解了 C++ 中嵌套类的存在,我很想知道程序员对使用它们的看法。我有点警惕,不确定有什么好处/缺点,但它们似乎(根据我正在阅读的书)可用于我的情况。

这本书建议在像我这样的场景中,一个好的解决方案是将主力类嵌套在接口类中,因此对于客户端不打算使用的类没有单独的文件,并避免任何可能的命名冲突?我不知道这些理由。嵌套类对我来说是一个新概念。只是想看看程序员对这个问题的看法。

0 投票
9 回答
14831 浏览

Class views in Django

Django view points to a function, which can be a problem if you want to change only a bit of functionality. Yes, I could have million keyword arguments and even more if statements in the function, but I was thinking more of an object oriented approach.

For example, I have a page that displays a user. This page is very similar to page that displays a group, but it's still not so similar to just use another data model. Group also has members etc...

One way would be to point views to class methods and then extend that class. Has anyone tried this approach or has any other idea?

0 投票
18 回答
312796 浏览

向现有对象实例添加方法

我读过可以在 Python 中向现有对象(即不在类定义中)添加方法。

我知道这样做并不总是好的。但是如何做到这一点呢?

0 投票
6 回答
3942 浏览

面向对象的贝叶斯垃圾邮件过滤?

我想知道是否有针对垃圾邮件和文本分类的贝叶斯过滤的良好且干净的面向对象编程 (OOP) 实现?这仅用于学习目的。

0 投票
11 回答
18166 浏览

通过引用传递还是通过值传递?

在学习一种新的编程语言时,您可能会遇到的一个可能的障碍是该语言是默认情况下是按值传递还是按引用传递

所以这是我向你们所有人提出的问题,用你们最喜欢的语言,它实际上是如何完成的?可能的陷阱是什么?

当然,您最喜欢的语言可以是您曾经玩过的任何语言:流行的晦涩的深奥的、的、旧的……

0 投票
7 回答
9209 浏览

速度比较 - 解释语言中的程序与 OO

在 PHP 和 JavaScript 等解释性编程语言中,使用面向对象的方法优于过程方法的影响是什么?

具体来说,我正在寻找的是在创建 Web 应用程序并在过程和面向对象方法之间进行选择时要考虑的事项清单,不仅可以优化速度,还可以优化可维护性。如果您知道任何进一步探讨此问题的文章,引用的研究和测试用例也会有所帮助。

底线:在解释语言中使用 OO 与程序时,性能的真正影响有多大(如果有的话)?

0 投票
39 回答
608335 浏览

什么是控制反转?

第一次遇到控制反转 (IoC) 时可能会非常混乱。

  1. 它是什么?
  2. 它解决了哪个问题?
  3. 什么时候适合使用,什么时候不适合?
0 投票
2 回答
2035 浏览

多范式语言

使用一种语言,例如(因为我现在正在使用它)PHP,它支持过程和面向对象的范例。

是否有一个好的经验法则可以确定哪种范式最适合新项目?如果没有,你怎么能做出决定?

0 投票
11 回答
52301 浏览

在 C++ 中创建稀疏数组的最佳方法是什么?

我正在研究一个需要处理巨大矩阵的项目,特别是用于 copula 计算的金字塔求和。

简而言之,我需要在矩阵(多维数组)中的大量零中跟踪相对少量的值(通常为 1,在极少数情况下超过 1)。

稀疏数组允许用户存储少量值,并将所有未定义的记录假定为预设值。由于物理上不可能将所有值存储在内存中,因此我只需要存储少数非零元素。这可能是几百万个条目。

速度是重中之重,我还想在运行时动态选择类中变量的数量。

我目前在一个使用二叉搜索树(b-tree)来存储条目的系统上工作。有人知道更好的系统吗?