protected abstract void ValidateFood(Food food);
protected void Throw(Food food) { throw new ArgumentException($"{this.GetType().Name} does not eat {food.GetType().Name}!"); }
public virtual void EatFood(Food food) { ValidateFood(food); this.FoodEaten += food.FoodQuantity; }
protected override bool IsFoodValid(Food food) => food.GetType().Name == "Meat" ? true : false;