讨论完了面向过程,咱们再来认识下面向对象。所谓的面向对象,就是在编程的时候尽量的去模拟真实的现实世界,按照现实世界中的逻辑去处理一个问题,分析问题中参与其中的有哪些实体,这些实体应该有什么属性和方法,咱们如何经过调用这些实体的属性和方法去解决问题。编程
现实世界中,任何一个操做或者是业务逻辑的实现都须要一个实体来完成,也就是说,实体就是动做的支配者,没有实体,就确定没有动做发生!安全
如今让咱们思考下,上述注册报名的每个步骤都有哪些动词?编程语言
提出 提供 缴 收 得到 分配 增长模块化
有动词就必定有实现这个动做的实体!函数
所谓的模拟现实世界,就是使计算机的编程语言在解决相关业务逻辑的方式,与真实的业务逻辑的发生保持一致!须要使每个动做的背后都一个完成这个动做的实体!学习
由于任何功能的实现都是依赖于一个具体的实体的“动做|操做|行动”,能够看做是一个又一个的实体在发挥其各自的“能力”并在内部进行协调有序的调用过程!视频
当采用面向对象的思想解决问题时,可分为下面几步:对象
采用面向对象的思想,解决上面的报名问题,应该以下:blog
第一步:分析那些动做是由哪些实体发出的游戏
因而,在整个过程当中,一共有四个实体:
学生、机构、教师、班级!
在现实中的一个具体的实体,就是计算机编程中的一个对象!
第二步:定义这些实体,为其增长相应的属性和功能
属性就是实体在现实世界中的一些特征表现。如:
功能就是能完成的动做,在面向对象的术语中,动做就叫做方法或者函数。如:
下图显示了在上述实例中出现的实体以及相应的属性和功能:
第三步:让实体去执行相应的功能或动做
因此说,面向过程主要是针对功能,而面向对象主要是针对可以实现该功能的背后的实体。面向对象实质上就是面向实体,因此当咱们使用面向对象进行编程时,必定要创建这样一个观念:万物皆对象!
在咱们将面向过程和面向对象讨论完后,会明显的感受二者之间有着很大的区别。面向过程简单直接,易于入门理解,模块化程度较低。而面向对象相对于面向过程较为复杂,不易理解,模块化程度较高。可总结为下面三点:
如何选择面向对象仍是面向过程,对于一个有着丰富开发经验的老手来讲,这是个驾轻就熟的过程。而对于一个新手而言,其实从二者的对比就能够看出,当咱们的业务逻辑比较简单时,使用面向过程能更快的实现。可是当咱们的业务逻辑比较复杂时,为了未来的维护和扩展,仍是面向对象更为靠谱点!固然,当咱们被经理催着上交项目时,不要再选择纠结了,哪一个能让你更快的完成项目就用哪一个吧!