java - 继承 JFrame 违反泛化

标签 java oop design-patterns jframe actionlistener

在开发 java 独立应用程序时,一些开发人员倾向于扩展 JFrame 类并实现(实现)一些 actionlistener 接口(interface)。是不是违反了oops中的泛化概念,也违反了抽象。是不是也违反了单一职责原则。

[编辑] 通过违反 oops 中的泛化概念,我的意思是“is-a”关系变得无效。 继承一个类改为扩展一个类

最佳答案

这种常见的反模式带来了几个问题:

class Application extends JFrame implements ActionListener {}

实现一个控制接口(interface),比如ActionListener,对于一个self-contained example来说可能很方便。 , 但一个复杂的应用程序可能需要多个 controller .使用 的示例检查here .另见 Why CS teachers should stop teaching Java applets .

关于java - 继承 JFrame 违反泛化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31490620/

相关文章:

java - 不同的对象和引用

android - 在客户端和网络之间设计一个 "task"层来组织同步网络/api 调用

iphone - 在 iPhone Development/Objective-C 中初始化实例变量

java - 由于已经存在根应用程序上下文而无法初始化上下文,在 tomcat 中部署 war 失败

java - 从自定义数组列表创建一个新列表

java - xml 数据文档末尾的额外内容

java - 获取单例实例的方式有很大差异吗?

java - 创建包含 YYYY、MM、DD、HH、SS 和时区 (XXX) 的公历日期

C++游戏、类设计和职责

c++ - 为代码重用而不必要地使用虚函数