私はクラスTreeNode
、LeafNode
拡張TreeNode
するクラスParentNode
、拡張するクラスを持ってTreeNode
います。クラスには、を返すParentNode
メソッドがあります。getChild
TreeNode
連続して呼び出すたびにgetChild
、大量のダウンキャストを行う必要があります。
LeafNode myLeafNode = (LeafNode) ((ParentNode) this.getChild(id1)).getChild(id2)
プログラムの継承構造を変更せずに、このすべてのダウンキャストを回避する方法はありますか?