根据多态的原则重构了 BaseTemplate 两个方法