Why do you need to extend all these different kinds of alien? What's wrong with one alien type, with a health field (and strength/image/etc fields) but with their own particular values. Then just have a create alien function with the stats of the desired alien as parameters.
You don't need a new type for every type of unit in the game! Just one type can represent them all.
You don't need a new type for every type of unit in the game! Just one type can represent them all.