Java设计模式--模版类

模版方法类 Template Method

最简单的设计模式,主要用到的Java的继承

先声明一个抽象类做为模版

package TemplateMethod;

/**
 * Created by Zz on 2017/5/3 0003.
 */
public abstract class People {
    public void doSomething() {
        beforeMethod();
        method();
        afterMethod();
    }

    /**
     * 声明为protect final 是为了不让子类去覆写,同时又允许子类访问
     */
    protected final void  beforeMethod() {
        System.out.println("beforeMethod");
    };
    protected abstract void  method();
    protected final void  afterMethod() {
        System.out.println("afterMethod");
    };
}

以下为模版类的实现

package TemplateMethod;

/**
 * Created by Zz on 2017/5/3 0003.
 */
public class Men extends People {
    @Override
    public void method() {
        System.out.println("men method");
    }
}
package TemplateMethod;

/**
 * Created by Zz on 2017/5/3 0003.
 */
public class Women extends People {
    @Override
    public void method() {
        System.out.println("women method");
    }
}

测试运行结果

package TemplateMethod;

/**
 * Created by Zz on 2017/5/3 0003.
 */
public class Test {
    public static void main(String[] args) {
        People people = new Men();
        people.doSomething();

    }
}

输出结果:

beforeMethod
men method
afterMethod

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值