分享

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

 精品唯居 2021-07-14

0-前言

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

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

1-实现

1-1、简单UML图:

 

 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();

 

 

 

运行结果:

 

 

 

2-应用场景简单总结

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多