jjzjj

AnySoldier

全部标签

swift - 类型删除 : Have I missed Anything?

我决定通过编写一些简单的代码来更好地理解类型删除。我有一个通用的Soldier协议(protocol)。兵有兵器,兵能战。我想创建由不同类型的士兵组成的军队。我认为类型删除会为我提供一种拳击士兵采用者的方法,这样我就可以将他们视为普通士兵(而不是狙击手、步兵等)但我发现中间的拳击类型(类型橡皮擦)必须仍然在士兵的关联类型(即武器)上通用。所以,我可以让步枪挥舞士兵,或火箭挥舞士兵,但不仅仅是普通士兵。关于类型删除的使用,我是否遗漏了什么?importFoundation//SoldiershaveweaponsandsoldierscanfightprotocolWeapon{func