适配器模式
2016-03-15 21:04
246 查看
适配器模式
适配器模式在Android中 是最为常见的,ListView,GridView,RecycleView,都是要用到该模式的,在开发中任何问题都是可以加入中间层进行,调整的。
适配器中有两种一个是类适配器
对象适配器,偏向于Android中的适配器
类适配和对象适配的区别,在于类适配模式是让继承父类的子类实习需要适配的接口(如鸟的子类比如鸡,需要实现鸡该有的接口),对象适配是让需要适配的对象作为新的类型的子类,你可以调整自己需要的方法,同时实现接口
在Android 中Adapter就是适配器模式,我们一个ListView,放在多行textView,但实际在adapter 作为数据传递只是一个List,对于Adapter的每个item的承载的样子千奇百怪,但是最终输出均是View。
总结
在开发中个人倾向于使用对象适配器,Java提倡多实现,少继承
适配器模式在Android中 是最为常见的,ListView,GridView,RecycleView,都是要用到该模式的,在开发中任何问题都是可以加入中间层进行,调整的。
适配器中有两种一个是类适配器
public class Voltage { public void FANGDIAN200V(){ System.out.println("200V"); } } 这是一个电压他有一个方法是放200v的店 public interface Transformer { abstract void FANGDIAN5V(); } 这是一个接口只有放5v的电压 public class NewVoltage extends Voltage implements Transformer{ @Override public void FANGDIAN5V() { // TODO Auto-generated method stub System.out.println("fandaing5v"); } } 建立一个新的类实现了新的接口 对原来的类进行了适配
对象适配器,偏向于Android中的适配器
public class NewVoltage implements Transformer{ private Voltage voltag; public NewVoltage(Voltage voltag){ this.voltag=voltag; } @Override public void FANGDIAN5V() { // TODO Auto-generated method stub System.out.println("fandaing5v"); } public void FANGDIAN200V(){ voltag.FANGDIAN200V(); } }
Voltage voltage=new Voltage(); voltage.FANGDIAN200V(); NewVoltage NewVoltage=new NewVoltage(voltage); NewVoltage.FANGDIAN5V();
类适配和对象适配的区别,在于类适配模式是让继承父类的子类实习需要适配的接口(如鸟的子类比如鸡,需要实现鸡该有的接口),对象适配是让需要适配的对象作为新的类型的子类,你可以调整自己需要的方法,同时实现接口
在Android 中Adapter就是适配器模式,我们一个ListView,放在多行textView,但实际在adapter 作为数据传递只是一个List,对于Adapter的每个item的承载的样子千奇百怪,但是最终输出均是View。
总结
在开发中个人倾向于使用对象适配器,Java提倡多实现,少继承
相关文章推荐
- ELasticsearch
- doc-remote-debugging.html
- webpack 使用优化指南
- java内部类学习笔记
- Android.mk小结
- Win7 下基于 Oracle VM VirtualBox 安装 Ubuntu desktop 12.04
- UML 用例图 use case diagram
- 轻松学习Ionic (四) 修改应用图标及添加启动画面(更新官方命令行工具自动生成)
- miniui 结束日期不能小于起始日期
- Genymotion常见问题整合与解决方案
- CSS学习笔记(三):继承、结构和层叠
- C#中数组、ArrayList和List三者的区别
- ubuntu编译内核时出现“when writing output to /tmp/ccf0eS0W.s: No space left on device”
- 求子数组最大和
- Search for a Range
- Agglomerative Hierarchical Algorithms(凝聚式层次聚类)
- Python ImportError: No module named XXX
- linux系统下mysql的安装过程
- nginx:利用负载均衡原理实现代码的热部署和灰度发布
- UML 建模