模板模式
2015-08-27 11:14
155 查看
其实这个思路已经在Android中智慧北京和Google市场中了
就是在一个抽象类中分为 基本抽象方法(是变化的,留给子类具体实现) (有protected修饰,符合迪米特法则) 模板方法(是子类不变的步骤,因此给它保装到抽象的父类中)(为了防止恶意的操作,一般模板方法都加上final表示不允许被覆写)
拓展:就是说生产出来的子类有点想任意控制抽象类中的方法
// 在H1中设置一个标记,可以手动控制其标记 private boolean alarmFlag = true;public void setAlarm(boolean isAlarm) { this.alarmFlag = isAlarm; }//H2复写覆类的声音的方法//客户根据提示完成相应的操作:0不需要,1代表需要 String type = (new BufferedReader(new InputStreamReader(System.in))).readLine();
不过没这个必要?(那为什么要继承呢?其实模板方法已经相当于父类调用子类,一种曲线救国的方式)
来自为知笔记(Wiz)
就是在一个抽象类中分为 基本抽象方法(是变化的,留给子类具体实现) (有protected修饰,符合迪米特法则) 模板方法(是子类不变的步骤,因此给它保装到抽象的父类中)(为了防止恶意的操作,一般模板方法都加上final表示不允许被覆写)
拓展:就是说生产出来的子类有点想任意控制抽象类中的方法
// 在H1中设置一个标记,可以手动控制其标记 private boolean alarmFlag = true;public void setAlarm(boolean isAlarm) { this.alarmFlag = isAlarm; }//H2复写覆类的声音的方法//客户根据提示完成相应的操作:0不需要,1代表需要 String type = (new BufferedReader(new InputStreamReader(System.in))).readLine();
不过没这个必要?(那为什么要继承呢?其实模板方法已经相当于父类调用子类,一种曲线救国的方式)
来自为知笔记(Wiz)
相关文章推荐
- 移动端点击、触碰
- 领域模型驱动设计(Domain Driven Design)入门概述
- android pcm
- 我的第一篇博客
- Leetcode #237 Delete Node in a Linked List
- 风靡职场的十大面试题!
- [LeetCode] Edit Distance(!!!!!DP)
- 新浪原生分享
- 1 Two Sum
- mybatis学习教程(一)JDBC到mybatis
- Mac 常见扩展名
- procmon符号配置
- AJAX原理剖析
- iOS开发——高级技术&地图功能的实现
- ListView.setOnItemClickListener 点击无效
- bind&currying
- 六 一行数据存储到文件的过程。
- 分清函数指针和指针函数_
- 彻底解决TAP(点透)提升移动端点击响应速度
- Webstorm Eclipse快捷键