都是一样的 , 用的子类的, 不同是用的抽象方法, 子类必须实现, 程序调用的时候就可以做到差异化实现,
对模板方法中非共性的方法采用抽象类中的抽象方法,是因为有些方法在模板中确实不知道具体的实现,提供一个空的默认实现,再在子类中去override是多余的。再者,共性的部分采用private标识,对子类屏蔽了实现细节,让具体的子类只用关注它特有的个性方法实现。 这样整体结构更加清晰明了,各个类的职责也更加具体清楚。
使用高层的就可以了.当然你也可以使用具体的实现类
嗯。。。