继承设计

blu*_*sky 1 java oop inheritance

我有一个Screen基类,所有其他Screen都可以从中扩展.在这个基类中,我有一个打开或关闭的自动收报机,具体取决于数据库中的val.我正在基类中读取这个val,以确定是否将自动收报机添加到当前的子类型屏幕.这是好设计吗?有更好的方法吗?

谢谢

Sea*_*oyd 7

你在混淆问题.屏幕不应该知道它从哪里获取数据,特别是它不应该知道数据库.

您应该有一个类似于ConfigSupplier传入屏幕的接口(标准实现是使用数据库的接口),或者使用管理器类来转换,从外部将配置值分配给屏幕.