模板方法: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
父类中拥有更多的通用抽象方法,由子类做具体处理,不同的子类执行后得出不同的结果。
优点:封装不变部分,扩展可变部分。
提供公共代码,便于维护。
行为由父类控制,子类实现。
缺点:容易导致子类过多,系统复杂。