面向对象就是就是用一个名称将完成特定功能的过程逻辑概括起来。它是相对于面向过程而言的,优点也是显而易见:思路和代码结构更清晰,明确。可读性更强,如果能做到完全的对象化,代码里的任何一个符号一段代码都是有明确含义的。
但要做到完全的面向对象化却不容易,以下是对象化级别的一些划分,非官方,纯属个人经验总结:
一、类级
只有类是面向对象的,类里的代码还是一团团.
二、方法级
类里方法的组织开始注意对象化了,将完成特定功能的过程代码集中起来定义为方法,并用功能来命名
三、方法级2
除了能用方法归纳代码,还注重划分方法的作用范围
1、主功能方法,对外提供服务,使用public修饰,并放到类的最前面
2、辅助功能方法,不对外,只适合在当前类使用,使用protected或private修饰
3、工具方法,可独立使用,不依赖当前类
1)独立成工具类:脱离当前类,可被任何人使用
2)声明为public static方法,通过当前类名引用,也是公开的,但要注意类名与该方法的对象关系
3)内部工具类,只给当前类使用,用一个内部工具类组织起来,保持外层类的简洁,提高代码可读性。
四、变量级
有时我们的条件判断里需要写很多的一段条件,例如:
if(a>1 && b>5 && (a*b>10 || c>6))
这是典型的过程代码,其实这段条件有一个明确的目的,假设是输出数字是否合法,这样我们可以以它的目的来声明一个变量来表示这段代码的运算结果,例如:
boolean isRightfulInput = a>1 && b>5 && (a*b>10 || c>6;
if(isRightfulInput )