无废话设计模式(12)行为型模式–模板方法模式

0-前言

  模板方法模式定义:定义一个操作中的算法骨架,而将一些步骤延迟到子类中;

           模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些步骤;

1-实现

1-1、简单UML图:

无废话设计模式(12)行为型模式–模板方法模式插图

 

 1-2、代码实现

 

//1、抽象父类
abstract  class TestPhone
{
    public void PowerOn()
    {
        System.out.println("测试开机是否正常");
    }
    public void PowerOff()
    {
        System.out.println("测试关机是否正常");
    }

    public void Test()
    {
        System.out.println("开始测试手机----------");
        PowerOn();
        PowerOff();
    }
}

//2-1、具体类A
class TestPhoneA extends TestPhone
{
    @Override
    public void PowerOn()
    {
        System.out.println("空电池下测试插电线开机");
        super.PowerOn();
    }
}

//2-2、具体类B
class TestPhoneB extends TestPhone
{
    @Override
    public void PowerOff()
    {
        System.out.println("测试直接拔电池关机");
        super.PowerOff();
    }
}

 

 

 

客户端:

 

        TestPhone testPhone;
        testPhone = new TestPhoneA();
        testPhone.Test();

        testPhone = new TestPhoneB();
        testPhone.Test();

 

 

 

运行结果:

无废话设计模式(12)行为型模式–模板方法模式插图(1)

 

 

 

2-应用场景简单总结

1、一次性地实现一个算法不变的部分,而将可变的行为留个子类来实现;

2、当子类有公共行为可提取到父类中去,而子类有自己的个性化需求时;

本站资源均源自网络,若涉及您的版权、知识产权或其他利益,请附上版权证明邮件告知。收到您的邮件后,我们将在72小时内删除。
若下载资源地址错误或链接跳转错误请联系站长。站长q:770044133。

» 无废话设计模式(12)行为型模式–模板方法模式

发表评论

免登录下载网,提供全网最优质的资源集合!