• java设计模式行为篇------模板方法


    java设计模式行为篇------模板方法

    核心思想

    定义一个父类的算法框架,将其部分实现步骤延迟到子类中,子类在实现时不用改变相关结构即可实现相关的算法步骤。嗯,说白了就是继承的一种使用。。。。

    简单实现

    抽象父类

    一般要注意那些方法是可以暴露给子类调用的,不需要给子类使用的用protected关键词就好。

    public abstract class AbsA {
    	protected abstract void deal1();
    	
    	protected abstract void deal2();
    
    	public void deal(){
    		deal1();
    		deal2();
    	}
    }
    

    具体子类

    子类只要实现父类中的相关方法就可以了。

    public class A extends AbsA {
    
    	protected void deal1() {
    		System.out.println("逻辑处理1");
    	}
    	protected void deal2() {
    		System.out.println("逻辑处理2");
    	}
    }
    
    public class B extends AbsA {
    
    	protected void deal1() {
    		System.out.println("逻辑处理3");
    	}
    	protected void deal2() {
    		System.out.println("逻辑处理4");
    	}
    }
    

    简单调用

    public static void main(String[] args) {
    	AbsA a= new A();
    	AbsA b= new B();
    	a.deal();
    	b.deal();
    }
    

    在抽象的父类中设定了暴露的方法,只需要对其调用就好,不需要关心其内部实现。

    小结

    模板方法应该算是设计模式中最为简单的一种了,但是其使用是极为广泛的,要注意在抽象类中,并没有抽象到绝对的一般化,而是设置了相关步骤给子类去实现,而子类实现的结果往往影响了父类中相关函数,所以它与一般的对抽象类的使用有很大不同。

  • 相关阅读:
    Swift ARC 自动引用计数
    Swift 值类型和引用类型的内存管理
    Swift 栈和堆
    Swift 命令行输入输出
    在 OC 中调用 Swift 代码
    在 Swift 中调用 OC 代码
    Swift 类型桥接
    Swift 与 C 语言混合编程
    Swift Precondition 预处理
    Swift Assert 断言
  • 原文地址:https://www.cnblogs.com/yanzs/p/13788282.html
Copyright © 2020-2023  润新知