在写游戏工程中,为了提高代码的重用性我们肯定有的时候是需要多态去实现的。
假如我们在游戏中会有很多怪物。但是由于不同的怪物属性不一样这样的话我们可以想到是可以由一个怪物基类派生出不同的怪物子类,然后复写基类的接口。
例如:
怪物基类为 MonsterBase 里面有个方法为TakeDamage().
派生出 Monster1 、Monster2两个派生类。
这个时候假如遇到一个怪物 你只需要去GetComponent<MonsterBase>() 如果这个怪物身上挂的是Monster1就会自动返回Monster1,如果是Monster2就会自动返回Monster2..
例子:
我写了4个脚本。B脚本挂在了1物体上,C脚本挂在了2物体上,D脚本挂在了Camera上。
运行结果为: