gpt4 book ai didi

java - 抑制父类(super class)的功能,是不是好的设计?

转载 作者:行者123 更新时间:2023-12-02 07:42:18 24 4
gpt4 key购买 nike

我正在阅读《GWT in action 2》一书,作者提到(在开发人员可以通过扩展另一个小部件来创建自定义小部件的部分)关于如何停止/抑制父类(super class)的某些功能的提示,即由实现的接口(interface)给出的方法。

作者提供的方法是重写该方法,为开发者在GWT日志中添加异常。示例:

public HandlerRegistration addClickHandler(ClickHandler handler){ 
GWT.log("", new Exception("Cannot add ClickHandler to ReportSizeLabel"));
return null;
}

为什么我要这样做,这是一个好的设计吗?

如果你必须做这样的事情,为什么不直接返回 null 呢?

也许我想太多了,无论如何,谢谢。

最佳答案

我认为这基本上是不好的。返回 null 对程序员没有帮助(最好抛出异常),而且整个事情破坏了多态性的思想。

因此,正确的答案是创建一个替代的接口(interface)链,以获得您需要的所有功能,但不包括 HasClickHandlers。然而,实际上,这可能需要很多时间。如果这个函数抛出异常而不是返回 null,我愿意将其放入内部使用的代码中,但我不会发布此代码以供其他人使用。

PS:正确的答案可能是正确实现该方法 - 在这种情况下并不难。

关于java - 抑制父类(super class)的功能,是不是好的设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11419429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com