我陷入了这种情况:我有一个名为Ammo的抽象类,其中有AmmoBox和Clip作为子类。我有一个名为Weapon的抽象类,Firearm和Melee作为子类。Firearm是抽象的,ClipWeapon和ShellWeapon作为子项。在Firearm里面,有一个voidReload(Ammoammo);问题是,ClipWeapon可以同时使用Clip和AmmoBox来装弹:publicoverridevoidReload(Ammoammo){if(ammoisClip){SwapClips(ammoasClip);}elseif(ammoisAmmoBox){varammoBox=a