思想要转化,首先得看你是否理解了面向对象,其实过了这个坎,你会发现以后编程中面向对象已经变成了习惯。
什么是类?什么是对象?你是否完全明白他们所代表的含义?
在真实世界中做对比的例子:人类=类,张三=对象 ;狗=类;我们家前几年死的大黄=对象 ;中国人=类;刘德华=对象 ......... 很多很多例子,类的概念可以很大,也可以范围小一些,比如你可以把人类当做类,也可以把中国人、美国人或者男人、女人当做类,这就涉及到类的继承的概念了。
所以,不难理解,类和对象的关系就是“群体”和“个体”之间的关系,一个是概念,一个是实体,用时下很流行的“宫”的台词来诠释类:“你见或者不见我,类就在那里,不增不减~~~你用或者不用我,对象就在那里,不悲不喜......” ,明白了,你日常生活的时候你会说你想和中国人交谈,想和美国人喝茶吗 ?不会吧? 你一定会是想和某个具体的人来一起工作、生活、交流吧,同样的道理,在面向对象编程的时候,和业务直接相关的一定是对象,而不是类,类只是用来负责定义对象的形态,如何定义??类里的变量和常量表明了这个类以后的对象具备什么样的属性,相当于定义了人有四肢、有鼻子有眼睛...... ;类里的函数(方法)表明了以后对象具备什么样的能力,或者说是能做什么~!就像人具备吃饭喝水做爱的能力一样。
我觉得理解了对象和类之间的简明关系,你的问题就不难解决了,什么时候需要创建类?
- 根据业务创建模型的时候,即你要写一个程序把大象放到冰箱里,那么你起码得创建三个类吧:一个大象类,一个冰箱类,还有一个能把大象放进冰箱里的某生物类吧
- 能在你的业务中被抽象出概念化业务的代码,可以组织成类。比如你的业务需要大量的开方、求阶乘等数学逻辑运算,虽然java的API都可以实现,但你每次使用都需要调用API自己写方法,那么当你发现你可以把你这些常用的方法写成公用的时候,你就会想为什么不把这些帮助性的工具函数封装在一个类里呢,调用的时候不也方便统一吗,这时候,你就抽象出了自己业务里的工具类,这个类,对你的业务来说,就是一个工具箱,完全符合以上说的类的特点。
- 和以上的工具类类似,有的时候一个业务处理是需要抽象一个类出来的,最后你的项目就会由上面说的这样大大小小无数个模型类、业务处理类、工具类所组成,仔细想想,这样是一个很棒的模式,就像流水线工厂里的流水线机器一样,各自做着自己专长的事情,不用考虑其他环节,我们所需要做的,就是如何将这些环节有效的组织在一起。