我有一个类TreeNode,一个LeafNode扩展TreeNode的类和一个ParentNode扩展的类TreeNode。在类中,ParentNode我有一个getChild返回TreeNode.
每当我getChild连续调用时,我都必须做一堆向下转换。
LeafNode myLeafNode = (LeafNode) ((ParentNode) this.getChild(id1)).getChild(id2)
有没有办法在不改变程序继承结构的情况下避免所有这些向下转换?