示例问题
当我创建Java :: Geci抽象类AbstractFieldsGenerator
和AbstractFilteredFieldsGenerator
我遇到了一个不太复杂的设计问题。 我想强调一下,对于某些人来说,这个问题和设计可能看起来很明显,但是在我最近与一位初级开发人员(我的儿子Mihály的交谈)中,我的文章比我的英语要好得多,意识到这个话题可能仍然有价值。
无论如何。 我有这两个类,字段和过滤字段生成器。 第二堂课扩展了第一堂课
abstract class AbstractFilteredFieldsGenerator
extends AbstractFieldsGenerator {...
添加额外的功能,同时应为具体实现提供相同的签名。 这是什么意思?
这些生成器有助于使用反射为特定类生成代码。 因此,他们处理的输入信息是Class
对象。 字段生成器类具有一个抽象方法process()
,该方法将为每个字段调用。 它是从一个实现的方法调用的,该方法遍历字段并分别对每个字段进行调用。 当具体类extends AbstractFieldsGenerator
并由此实现此抽象方法时,它将被调用。 当更改相同的具体类以使其extends AbstractFilteredFieldsGenerator</