No looping necessary. If this is your parent class:
Any hit child will execute it.
What’s more, a child can either override it to do their own thing, ignoring the parent’s class implementation:
Or respect what the parent is generally doing and add their own stuff:
This dude takes only 10% of damage, which in this case is interpreted as not being pushed far when hit.