这种设计模式是模板方式,也叫Template方式。
因为当我们在设计一个功能类时,发现它的功能只有一部分是确定的,而还有一些功能尚不确定,再有就是那些确定了的功能部分还有使用不确定功能的部分,那么这时候我们就将确定的功能部分实现,而不确定的功能部分暴露出去,由该类的子类去完成,也就是将这些个不确定的功能部分抽象化,那这时候该类也就自然而然的抽象化了。当然如果那些确定的功能的部分是该类默认的功能,而且不想让子类去更改了的,那该类可以把这部分最终化(用final关键字修饰之即可)。
这样做的好处就是既提高了该类的扩展性又提高了该类的复用性。
例如下面的一个例子:
问题需求:
获取一段程序的运行时间。
方法原理:
获取程序开始和结束的时间并相减求出时间差即是该段程序的运行时间。
代码实现如下: