问题标签 [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 投票
11 回答
21897 浏览

delphi - 在 Delphi 中重新引入函数

reintroduce在 Delphi中使用关键字的动机是什么?

如果您有一个子类包含一个与父类中的虚函数同名的函数,并且没有使用 override 修饰符声明它,那么这是一个编译错误。在这种情况下添加 reintroduce 修饰符可以修复错误,但我从未掌握编译错误的原因。

0 投票
17 回答
729 浏览

oop - 是否有可能超过OO?

我的问题很简单;是否可以过度面向对象您的代码?

多少是太多了?你在什么时候为了 OO 而放弃可读性和可维护性?

我是一个巨大的 OO 人,但有时我想知道我的代码是否过于复杂......

想法?

0 投票
27 回答
501438 浏览

c++ - 什么时候应该在 C++ 中使用类和结构?

在什么情况下在 C++中使用 a structvs a更好?class

0 投票
8 回答
254825 浏览

python - Python中的旧样式类和新样式类有什么区别?

Python中的旧样式类和新样式类有什么区别?我什么时候应该使用其中一种?

0 投票
34 回答
413486 浏览

javascript - JavaScript 私有方法

要使用公共方法创建 JavaScript 类,我会执行以下操作:

这样我班的用户可以:

如何创建可以由buy_foodanduse_restroom方法调用但不能由类的用户在外部调用的私有方法?

换句话说,我希望我的方法实现能够做到:

但这不应该工作:

我如何定义private_stuff为私有方法,以便这两个都成立?

我已经阅读了Doug Crockford 的文章几次,但似乎“私有”方法不能被公共方法调用,而“特权”方法可以在外部调用。

0 投票
5 回答
949 浏览

php - PHP:如何检查两个类的所有公共方法是否返回相同的值?

实际上,如果我有一个class cand 的实例,$c1并且$c2 它可能具有不同的私有变量数量,但它们的所有公共方法都返回相同的值,我希望能够检查$c1 == $c2?

有谁知道一个简单的方法来做到这一点?

0 投票
2 回答
675 浏览

c# - 获取两个相同对象之间差异列表的最佳方法

我想生成同一对象的 2 个实例之间的差异列表。有问题的对象:

我想做的是找到一种智能方法来返回一个列出两个实例之间差异的对象(例如,让我知道添加了 2 个特定的 StepDocs,删除了 1 个特定的 StepUser,并且一个规则从“去”到“停止”)。我一直在研究使用 MD5 哈希,但我找不到任何像这样遍历对象并返回具体差异清单的好例子(不仅仅是表明它们不同)。

附加背景:我需要这样做的原因是我支持的 API 允许客户端保存步骤(步骤步骤)......这对于使用实体和存储库将步骤对象持久保存到数据库非常有用。不过,我需要从此 SaveStep 方法引发特定事件(例如添加了此用户等),以提醒另一个系统(工作流引擎)步骤中的特定元素已更改。谢谢你。

0 投票
35 回答
446835 浏览

oop - Liskov 替换原则的一个例子是什么?

我听说 Liskov 替换原则 (LSP) 是面向对象设计的基本原则。它是什么,有哪些使用示例?

0 投票
38 回答
176194 浏览

oop - 接口与基类

什么时候应该使用接口,什么时候应该使用基类?

如果我不想实际定义方法的基本实现,它是否应该始终是一个接口?

如果我有狗和猫课。为什么我要实现 IPet 而不是 PetBase?我可以理解为 ISheds 或 IBarks (IMakesNoise?)提供接口,因为这些接口可以逐个放置在宠物上,但我不明白哪个用于通用宠物。

0 投票
10 回答
5180 浏览

php - PHP 是否面向对象?

我有一个未使用 PHP 的面向对象功能编写的 web 应用程序的开始。

我真的不知道是否值得回去重写我已经完成的部分。面向对象的 PHP 是否值得重写一个体面的工作应用程序的全部或部分?