哈喽,新人问一个多态相关的问题?

我想实现多态,通过构建抽象类A继承引擎的Component,让后创建另一个类B继承这个抽象类A并绑定到某个Node上,测试中利用该Node另外一个组件C调用getComponent(A)能获得这个子类B的实例,请问这样写法有没什么问题?本人小白,请各位大佬解答。 :grimacing:

没啥问题,引擎自身的组件有很多是这么继承的啊!需要注意的就是如果你同时在节点上挂载了A、B两个组件 getComponent(A)可能出现问题 它会根据挂载顺序返回第一个!不过一般也不会这么设置吧
这个时候可以设置

// 当本组件添加到节点上后,禁止同类型(含子类)的组件再添加到同一个节点,
    // 防止逻辑发生冲突。
    // 
    // 值类型:Boolean
    // 默认值:false
    @disallowMultiple(true)

谢谢你的回答,不会同时挂载A和B,只是用getComponent(A)来找到实际上挂载的B。

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。