抽象基础bean类

时间:2018-01-27 16:11:18

标签: java abstract-class javabeans

由于我没有找到任何准确描述我问题的内容,我想我试一试:

在我的整个时间里,每当我需要区分类似模式的不同实现时,我就会使用抽象类,就像一个抽象标记器,用于从文本中解析和创建不同的对象。

但是最近我发现,在大型项目中,几乎每次都有一个名为AbstractBaseBBEAbstractBaseBean的类几乎覆盖Object类中的所有内容。从字面上看,这些项目中的所有类在遍历层次结构树时最终都会从此基类扩展。我开始研究java中bean的定义,并且声明bean基本上只是一个带有私有字段的getter和setter的类。 AbstractBaseBBEAbstractBaseBean类也有处理Properties的方法,但不是处理我从事件处理中知道的属性,例如PropertyChangeSupport,它们只是String对象。

我无法弄清楚他们这样做的原因或者那些抽象bean类的目的是什么。

除了在执行此操作时为所有子类提供其他方法之外,还有其他原因吗?

以下链接是这些的示例:

第一个PropertyDescriptor是我对属性的意思。不幸的是,上面基类中使用的一些类和方法不在项目中,这意味着它们可能是从外部源或库导入的。

我希望你能帮助我理解这些课程的目的是什么,以及何时使用这样的课程。

1 个答案:

答案 0 :(得分:3)

我认为你试图回答错误的问题。对于为什么总是应该使用“AbstractBaseBean”没有一般性的答案,但是你可以看到,在每种情况下,这给出了系统中每个对象的一般行为。这有用的东西是否真的取决于系统。

例如,您引用的JPA示例包含一组常规字段,包括带有getter和setter的id。另外两个都提供默认的hashcode和equals。

同样,没有一个正确的答案,但是如果你理解了它提供的功能,你可以自己决定它是否是你想要的。