模板方法设计模式:
模板方法设计模式:解决方法中存在重复代码的问题。
模板方法设计模式的写法:
1、定义一个抽象类
2、在里面定义2个方法
一个是模板方法:把相同代码放里面去
一个是抽象方法:具体实现交给子类完成
建议使用final关键字修饰模板方法:
模板方法是给对象直接使用的,不能被子类重写。
一旦子类重写了模板方法,模板方法就失效了。
package com.ouyang.demo05;
public abstract class Singer {
//模板方法,存放多个子类方法中的相同代码
//final防止模板方法被子类重写
public final void sing(){
System.out.println("上台");
System.out.println("打开话筒");
//同子类唱的歌词不一样,搞一个抽象方法,让子类重写
doSing();
System.out.println("关闭话筒");
System.out.println("鞠躬");
}
public abstract void doSing();
}
public class DaoLang extends Singer{
@Override
public void doSing() {
System.out.println("刀郎唱2002年的第一场雪!");
}
}
class Cxk extends Singer{
@Override
public void doSing() {
System.out.println("蔡徐坤唱明天会更好!");
}
}
package com.ouyang.demo05;
public class demo {
public static void main(String[] args) {
/*
上台
打开话筒
蔡徐坤唱明天会更好!
关闭话筒
鞠躬
--------------
上台
打开话筒
刀郎唱2002年的第一场雪!
关闭话筒
鞠躬
*/
Singer cxk=new Cxk();
cxk.sing();
System.out.println("--------------");
Singer dl=new DaoLang();
dl.sing();
}
}
标签:System,println,设计模式,方法,public,模板,out
From: https://blog.csdn.net/m0_57463864/article/details/140534810