我觉得除了用钩子还可以这样实现最后一步操作的:定义一个空的加调料方法在父类中,子类继承后需要加调料或是加什么调料完全由子类重写父类的加调料方法,如子类不需要加调料则默认调用父类的加调料方法,相比钩子方法自由度高而且更简洁
你这不就是钩子方法的定义吗? 只是你返回时void, 我们返回一个布尔值。本质都是在父类中提供一个默认实现的方法,之类可以重载。
凡是由子类覆盖实现,提供差异化的都是钩子方法,对不对?