我在一个数据库中有5个不同的表。我编写了一个抽象的“转化器.java”类,它从数据库中取出数据并将其转换成“树.xml”文件。
树XML
<?xml version="1.0" standalone="no"?>
<tree>
<declarations>
<attributeDec1 name="name" type="String"/>
</declarations>
<branch>
<attribute name="name" value="process 1"/>
<leaf>
<attribute name="name" value="process 2"/>
</leaf>
<leaf>
<attribute name="name" value="process 3"/>
</leaf>
</branch>
</tree>
因此,您可以猜测,上述tree.xml的结构对于所有5个表都将保持不变。唯一的区别是属性“value”的值。
要获取该“value”属性的值,转换器首先必须查询数据库中的这些值。
因此,对于5个不同的表应该有5个不同的查询。因此,我没有编码5个不同的转换器,而是制作了一个具有类似功能的单曲“转换器.java”。
-
opestEnter()
-
关闭()
-
OpenBRACHECH()
-
闭锁()
-
开叶()
-
关闭()
-
AdDATA引文()
在上述方法中,我实现了除addattribute()方法之外的所有方法,因为它将根据表实现。
之后,我编码了5个不同的转换器,每个转换器都是一个表,它们都扩展了“转换器.java”。
我在converter.java类中创建了一个名为“query”的字段。由于这个字段由所有5个转换器继承,所以我已经在这5个转换器的构造函数中初始化了这个字段。
现在我的问题是:
问:我不确定我是否正确地使用了继承,或者在上面的方法中应该有一些改变?
编辑:
Q2。我在converter.java类中还有一个使用“query”字段的方法。因为在Currist.java类中没有初始化字段,所以我是否在所有5个子转换器中复制该方法,或者将该方法放入父类(即转换器.java)中是可以的。