关于java四大特性在android中的实际应用

作者:Sanyu发布时间:2016-02-26

1.java的四大特性

封装、抽象、继承、多态。

封装如图所示


该类将店铺对象封装成了一个实体类 其中有店铺所具有的属性

抽象就是将一类实体的共同特性抽象出来,封装在一个抽象类中,所以抽象在面向对象语言是由抽象类来体现的。比如鸟就是一个抽象实体,因为抽象实体并不是一个真正的对象,它的属性还不能完全描述一个对象,所以在语言中体现为抽象类不能实例化abstract(抽象类我个人在实际开发中很少用到可能是由于还没体会他的精髓吧)

继承是在java或android开发中经常需要用到的,在android中我们最常用到的Activity继承的最上层就是一个Context抽象类,而我在实际开发过程中用到自己的继承一般是在两个功能相似的类中提取出共有部分,比如BaseActivity类继承至Activity,我们在该类中写好打开界面和关闭界面时的动画以及loading的显示与隐藏的方法这样就能很好的减少重复代码

在网上有关于程序员的八荣八耻,其中就说到以多态应用为荣以分支判断为耻。 

在程序的控制中,经常会有在某种条件下使用某种策略的问题,也有在某种条件下使用某一组参数的问题。对于这些控制,我以前经常采用if-elseswitch等分支语句作判别后选用相关策略或参数。这样做的缺点非常多,主要有如下几点:

    1,代码臃肿,凌乱不堪。常常的if-else会使人生厌,毫无美感。

    2,效率低下,有时长久使用某种策略,而程序每次都要判别使用哪种策略,这个判别语句每次都在耗费资源。

    3,毫无扩展性而言。当有新的策略加进来的时候,只能增加一个策略处理函数或者某块,再在if语句下增加if-else的分支。后续的改动会使得已经确认的代码被修改,并且代码凌乱得使人抓狂。与敏捷软件设计的原则背离。

 

    现在我经常使用的手法是,将策略抽象成一个接口,策略的增加表现为新增一个策略类。策略参数被组合成一个参数类。再设置一个接口或者参数类指针的数组。这样,策略就全部包含在这个数组中了,策略的选取和变换中,只需要将当前策略的指针进行替换即可。

    此种手法,完美地解决了上面的三个问题,并且有一种美感。所以,我们确实应该以多态应用为荣,以分支判断为耻。

什么是多态? 


简单的说:就是用基类的引用指向子类的对象

初始化接口中有加载数据的方法  方法里面不知道是做什么操作


不管你以后做什么操作 反正我承认IInitializationModel这个基类

以后需求改了只需要再次直接实现IInitializationModel做另外的操作,我们在开发中不能把需求想成是死的,因为客户说变就变是没有余地的。

扫描二维码关注 旭邦互动
随时获取最新动态
返回顶部在线咨询021-52896658PDF下载