У меня есть класс Spaceship, который имеет функцию со следующей подписью: public function CheckMissileHit(enemies:Vector.<Spaceship>):void
Pass дочернего объекта для функции, которая требует родительского объекта
Я унаследованный Spaceship
класса по EnemySpaceship
. Теперь, мой старый код использует функцию выше, следующим образом: mPlayer.CheckMissileHit(mEnemySpaceships)
Первоначально mEnemySpaceships
был Vector.<Spaceship>
, но теперь я хочу использовать некоторые концепции объектно-ориентированного программирования и создали отдельный класс под названием EnemySpaceship
.
Но, к сожалению, если я передаю Vector.<EnemySpaceship>
функции, которая требует Vector.<Spaceship>
, я ввернута. Одним из основополагающих принципов ООП является полиморфизм, поэтому как я могу его создать в AS3? Благодарю.