设计模式:模板方法

来源:互联网 发布:机器人 毛笔字 算法 编辑:程序博客网 时间:2024/06/01 16:06

模板方法,顾名思义就是创建方法的模板。
那么在什么条件下需要创建方法的模板,前提是不同类的某一方法具有完全的共性。
例如:

Public abstract class human{    Public abstract void eat();    Public abstract void drink();    Public abstract void shit();    Public abstract void day();}Public class man extends human{    Public void eat()    {    //man eat lot    }    Public void drink()    {    //man drink little    }    Public void shit()    {    //man shit in man wc    }    Public void day    {        Eat();        Drink();        Shit(); // 人生就是吃喝拉撒    }}Public class woman extends human{    Public void eat()    {    //woman eat little    }    Public void drink()    {    //woman drink lot    }    Public void shit()    {    //man shit in woman wc    }    Public void day    {        Eat();        Drink();        Shit(); // 人生就是吃喝拉撒    }}

采用模板方法模式,抽象类human中的day由抽象方法变为实现方法

Public abstract class human{    Public abstract void eat();    Public abstract void drink();    Public abstract void shit();    Public void day(){        Eat();        Drink();        Shit(); // 人生就是吃喝拉撒    }}

模板方法的优点:
1.封装不变部分,扩展可变部分
2.提取公共部分代码,便于维护
3.行为有父类控制,子类实现

0 0
原创粉丝点击