面向对象的思想

编程思想:面向过程——>面向对象编程

当下大多数编程语言都是面向对象编程的思想,在没有提出面向对象这个思想以前,大多数人都是采用面向过程编程。编程语言


 面向过程工具

面向过程的思想,就如同咱们人正常思考去如何作一件事的思考方式同样。编码

举例说明面向过程的思考方式:spa

结论:面向过程面向的是完成这件事的过程,强调的是完成这件事的动做。设计


 为什么要从面向过程转向面向对象对象

继续上面把大象塞进冰箱里的例子,咱们来按照面向过程的步骤来实施这件事情,举例说明以下:blog

1.张三把大象塞进冰箱里:接口

张三,是个比较身材瘦小的人开发

张三踩着板凳打开冰箱门,张三找了一位大力士将大象塞进了冰箱,最后踩着板凳关闭冰箱门。

 

2. 李四把大象塞进冰箱里:

李四,天生力大无穷高大威猛

李四无需依靠其余工具直接打开冰箱门,李四徒手一人举起大象塞进冰箱,而后本身关上冰箱门

 

以上的例子能够看出,“把大象塞进冰箱里”这件事却由于不一样的人不一样的状况,事情本来的处理的方式也发生了变化。

咱们能够得出一个结论:

若是咱们用面向过程的思想来解决这件事,当执行这件事的人具备不一样的状况和差别的时候,咱们须要为每一个不一样的人所产生的差别来作针对性的处理。同理,将面向过程的编程方式带入到实际的开发中,咱们开发的某一个功能模块可能适用于当下的阶段,当随着软件的使用新的业务需求就会随之而来,若是咱们只按照当前的状况以面向过程的思想去实现功能,在面临改动面临变化的时候,就要不断去改动功能的代码去适应新的变化。

这样的方式,会投入很大成本和精力,并且随着功能不断的复杂度,在面临新的需求来时,改动将更加困难,所谓牵一发动全身。


 面向对象

面向对象的思想的理解,是随着在不断的实践、不断的编码的过程当中慢慢渗透掌握的。

我我的以为评判一我的的编程能力高低,就能够看他对面向对象编程掌握和理解的程度如何。

继续“”把大象塞进冰箱里“的例子,使用面向对象的思想模拟实现过程:

1.既然语义上强调对象,因此咱们常常遇到的问题就是找对象,找对象帮忙作事:

2.抽取共性(不变的),屏蔽差别(变化的),具备被动型,由于这样才具用通用性不惧变化:

执行者:执行作事的人确定是不定的,变化的。

大象和冰箱:目的是塞进冰箱,即冰箱是一个被动者。后期也许不光是塞大象,可能会塞老虎。

冰箱贯穿整件事,出如今每一个步骤,因此,这里能够指定冰箱做为对象完成这件事。

 

把冰箱做为对象完成,”把大象塞进冰箱里“这件事的方式:

1.冰箱门能够被打开

2.大象能够被塞进冰箱里

3.冰箱门能够被关闭

 

二者思考的对比:

面向对象:意在写出一个通用的代码,抽取共性(不变的),屏蔽差别(变化的)。

 

总结:

  当咱们要以面向对象的思想去实现功能的时候,首先想着的是找对象来帮着作事情,并且要找被动型的对象,其余的变化均可以抽象出对外的接口。

  就比如如笔记本电脑USB就是一个很好的面向对象的设计思想,很早的时候笔记本没有考虑到其余的更多的外界设备,而是只设定了几个固定经常使用的接口,如鼠标、网线。随着科技不断的更新,外界设备接踵而来,因此为了屏蔽差别就对外设定USB接口这种形式,笔记本无论要接入什么设备,只要设备知足USB的标准就能够对接。

相关文章
相关标签/搜索