模板方法模式(好处+概念)
好处:将方法进行隐藏或者说不过多的暴露行为,提高代码的复用性
我们在设计这个模型时发现 start点火 stop 停止 引擎转动这三个行为是变化的,需要由具体子类来实现,行驶这个行为是固定,所有子类中都一样。我们可以在父类中定义,将其实现,直正执行时,
还是去执行具体的子类中的行为. 这种方式也是设计模式中的一种,模板方法模式.
//创建悍马模型
abstract class HM
{
//打火
abstract void start();
//停止
abstract void stop();
//引擎转动
abstract void yinQingBoom();
//行驶
void run(){
//真正调用时还时执行子类中的重写的方法
this.start();
this.yinQingBoom();
this.stop();
}
}
class H1 extends HM
{
//打火
void start(){
System.out.println("H1 打火");
}
//停止
void stop(){
System.out.println("H1 停止");
}
//引擎转动
void yinQingBoom(){
System.out.println("H1 引擎转动");
}
}
class H3 extends HM
{
//打火
void start(){
System.out.println("H3 打火");
}
//停止
void stop(){
System.out.println("H3 停止");
}
//引擎转动
void yinQingBoom(){
System.out.println("H3 引擎转动");
}
}
|