模板方法 也叫钩子函数
package design.template;
abstract class Student {
public void sleep(){
tuo_yi_fu();
tuo_xie();
guan_deng();
gai_bei_zi();
}
protected abstract void gai_bei_zi();
protected abstract void guan_deng();
protected abstract void tuo_xie();
protected abstract void tuo_yi_fu();
}
package design.template;
public class BoyStudent extends Student {
@Override
protected void gai_bei_zi() {
System.out.println("男同学开始盖被子");
}
@Override
protected void guan_deng() {
System.out.println("男同学开始关灯");
}
@Override
protected void tuo_xie() {
System.out.println("男同学开始拖鞋");
}
@Override
protected void tuo_yi_fu() {
System.out.println("男同学开始脱衣服");
}
}
测试:
public static void main(String[] args) {
BoyStudent boyStudent = new BoyStudent();
boyStudent.sleep();
}
男同学开始脱衣服
男同学开始拖鞋
男同学开始关灯
男同学开始盖被子