模板模式
来源:互联网 发布:网络文件管理系统 编辑:程序博客网 时间:2024/05/18 01:37
模板方法模式:模板方法模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。开闭原则是指一个软件实体应该对扩展开放,对修改关闭。也就是说软件实体必须是在不被修改的情况下被扩展。模板方法模式意图是由抽象父类控制顶级逻辑,并把基本操作的实现推迟到子类去实现,这是通过继承的手段来达到对象的复用,同时也遵守了开闭原则!
package TemplateDemo;/*** 这是一个抽象的模板类* */abstract class AbstractClass { //定义一个模板方法来控制生产手机的流程 public void makeMobile(){//TemplateMethod //首先生产手机体(模板方法自己完成) System.out.println("生产了一个手机body"); this.makeDifferentFunction(); this.makeDifferentColor(); this.makeDifferentType(); System.out.println("一部手机制作完成"); //以上模板已经规定好了 } //定义抽象的方法来完成不同的生产细节(不同功能的手机) protected abstract void makeDifferentFunction(); //定义抽象的方法来完成不同的生产细节(不同颜色的手机) protected abstract void makeDifferentColor(); //定义抽象的方法来完成不同的生产细节(不同类型的手机) protected abstract void makeDifferentType();}/*** 创建真是的实现类来实现具体的生产细节* */class ConcreteClass extends AbstractClass{ //实现父类中的抽象的方法 protected void makeDifferentColor() { System.out.println("给该手机的颜色涂成蓝色"); } protected void makeDifferentFunction() { System.out.println("给该手机实现看MP4的功能"); } protected void makeDifferentType() { System.out.println("给该手机制作成翻盖的"); }}//写测试类public class TestTemplate{ public static void main(String args[]){ AbstractClass ac = new ConcreteClass();//子类的对象付给父类 ac.makeMobile();//制作手机 //制作不同的手机只是修改子类就可以了 }}
0 0
- 模板模式-抽象模板
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 模板模式
- 漫谈程序员系列:一张图道尽程序员的出路
- 用ptxdist工具创建交叉编译开发工具
- ios系统和android系统ui尺寸如何统一
- 自动生成全尺寸软件图标的绿色小软件
- 将多张静态图片生成GIF文件
- 模板模式
- 解析URL对象
- stm32f4时钟设置
- To Do List
- VS2012编译和调用gdal
- IOS注意之NSAutoreleasePool
- Android bind其他或第三方APK Service方法
- Mysql常用命令行大全
- 此去经年,物是人非