实现模板方法模式