面向对象是Java的核心思想,理解为该思想是站在对象的角度思考问题,我们把多个功能合理的放到不同对象里,强调的是具备某些功能的对象。
举例来说,如果有同事问你怎么办理离职手续。一是先提离职申请,跟同事做完交接之后,找直属领导审批。审批通过之后,去找行政清点办公物品,清点没问题了,行政会给你开一个证明。拿着这个证明去找财务结算工资,算清楚之后拿着财务给的证明去找人力,人力会给开离职证明。
二是先提离职申请,跟对接同事做完之后,找直属领导审批。审批完成之后,依次去找行政、财务和人力,跟他们说“我来办离职手续”。最后拿到离职证明,就办完了。
两种说法看起来差不多,其实是有很大不同的。第一种就是典型的面向过程的思路:做事的整个过程和全部细节都“尽在掌握”。第二种则是面向对象的思路:拆分完整的过程、把具体工作委派给不同的岗位和个人。
面向对象最终还是要面向过程。无论我们怎样拆分和委托,每个人还是要按一定的过程来完成自己的工作,最终还是要把每个人的工作组织成一个大的过程才能完成整个项目。