У меня есть класс Октри.Ключевой особенностью Octree является то, что он может создавать своих собственных потомков.
class Octree {
...
createChildren(){
...
/* for each of the 8 new children*/
this.children.push(new Octree(/*someargs*/))
...
}
}
Теперь я хочу наследовать от класса Octree, однако я также хочу, чтобы дети стали унаследованным классом.Например, class LODWorldTree extends Octree
, чтобы дополнительно содержать некоторые данные рендера для игры.Однако, если я вызову LODWorldTree.createChildren()
, тогда LODWorldTree.children
будет массивом Octree
с вместо LODWorldTree
с.
Каков наилучший способ решить эту проблему?Во время написания этого я смог сохранить Octree.myClass = /*some inherited class*/
и вручную установить эту переменную для всех классов, которые наследуются от Octree
.Есть ли лучший способ сделать что-то подобное?Может быть с this.prototype
?