问题标签 [overriding]

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 投票
14 回答
20071 浏览

c++ - 有没有办法防止方法在子类中被覆盖?

有没有人知道 C++ 中的语言特性或技术来防止子类在父类中覆盖特定方法?

即使它不是虚拟的,这仍然是允许的(至少在我使用的 Metrowerks 编译器中),你得到的只是一个关于隐藏非虚拟继承函数 X 的编译时警告。

0 投票
11 回答
595062 浏览

java - 在 Java 中覆盖 equals 和 hashCode 时应该考虑哪些问题?

equals覆盖和时必须考虑哪些问题/陷阱hashCode

0 投票
3 回答
6700 浏览

ruby-on-rails - 以 DRY 方式覆盖 ActiveRecord 中的“查找”

我有一些模型需要自定义查找条件。例如,如果我有一个 Contact 模型,每次调用 Contact.find 时,我都想限制返回的联系人只属于正在使用的 Account。

我通过谷歌找到了这个(我已经定制了一点):

这很好用,除了 account_id 不明确的少数情况,所以我将其调整为:

这也很好用,但是,我希望它是干燥的。现在我有几个不同的模型,我希望使用这种功能。做这个的最好方式是什么?

当您回答时,请包含代码以帮助我们理解元编程 Ruby-fu。

(我使用的是 Rails v2.1)

0 投票
3 回答
1424 浏览

vb.net - 在 VB.NET 中扩展 ControlCollection

我想扩展ControlCollectionVB.NET 中的基本功能,这样我就可以将图像和文本添加到自制控件中,然后自动将它们转换为图片框和标签。

所以我做了一个继承自 ControlCollection 的类,重写了 add 方法,并添加了功能。

但是当我运行这个例子时,它给出了一个NullReferenceException.

这是代码:

我在谷歌上搜索,有人说CreateControlsInstance需要重写该方法。所以我这样做了,但随后它给出InvalidOperationException了一条innerException消息NullReferenceException

我该如何实施?

0 投票
2 回答
3324 浏览

tinymce - 如何在 TinyMCE 中覆盖 Ctrl+V

我需要将粘贴文本的 HTML 清理到 TinyMCE 中,方法是将其传递给 Web 服务,然后将其返回到 textarea。所以我需要覆盖 TinyMCE 中的 Ctrl+V 来捕获文本,执行后台请求,然后在返回时继续使用 TinyMCE 的粘贴处理程序。首先,TinyMCE 的 Ctrl+V 处理程序在哪里,有没有一种非破坏性的方法来覆盖它?(而不是更改源代码)

0 投票
21 回答
291699 浏览

java - 多态性 vs 覆盖 vs 重载

在 Java 方面,当有人问:

什么是多态性?

重载覆盖是一个可以接受的答案吗?

我认为还有更多的东西。

如果您有一个抽象基类定义了一个没有实现的方法,并且您在子类中定义了该方法,那仍然是覆盖吗?

我认为重载肯定不是正确的答案。

0 投票
7 回答
4262 浏览

c# - 什么时候应该覆盖 OnEvent 而不是在继承时订阅事件

什么时候应该做以下事情?

与此相反?

0 投票
11 回答
68418 浏览

c# - C# - 关键字使用 virtual+override 与 new

在基类型“”中声明一个方法,virtual然后在子类型中使用“”关键字覆盖它,而不是在子类型中声明匹配方法时override简单地使用“ ”关键字有什么区别?new

0 投票
3 回答
1785 浏览

.net - 覆盖特定 .NET 类型的序列化

请考虑这个示例类:

我想根据我自己的规则更改类中声明的任何 DateTime 的序列化。此类的成员会经常更改,我不想为每次更改都维护一个自定义序列化程序。此外,我希望这种行为由子类继承,而不是为每个子类编写自定义序列化程序。序列化由 Web 服务输出。谢谢你的帮助!

0 投票
8 回答
255210 浏览

java - Overriding the java equals() method - not working?

I ran into an interesting (and very frustrating) issue with the equals() method today which caused what I thought to be a well tested class to crash and cause a bug that took me a very long time to track down.

Just for completeness, I wasn't using an IDE or debugger - just good old fashioned text editor and System.out's. Time was very limited and it was a school project.

Anyhow -

I was developing a basic shopping cart which could contain an ArrayList of Book objects. In order to implement the addBook(), removeBook(), and hasBook() methods of the Cart, I wanted to check if the Book already existed in the Cart. So off I go -

All works fine in testing. I create 6 objects and fill them with data. Do many adds, removes, has() operations on the Cart and everything works fine. I read that you can either have equals(TYPE var) or equals(Object o) { (CAST) var } but assumed that since it was working, it didn't matter too much.

Then I ran into a problem - I needed to create a Book object with only the ID in it from within the Book class. No other data would be entered into it. Basically the following:

All of a sudden, the equals(Book b) method no longer works. This took a VERY long time to track down without a good debugger and assuming the Cart class was properly tested and correct. After swaapping the equals() method to the following:

Everything began to work again. Is there a reason the method decided not to take the Book parameter even though it clearly was a Book object? The only difference seemed to be it was instantiated from within the same class, and only filled with one data member. I'm very very confused. Please, shed some light?