美文网首页程序员入门
我眼中的“面向过程”与“面向对象”

我眼中的“面向过程”与“面向对象”

作者: code_monkey | 来源:发表于2018-08-11 22:54 被阅读1次
我找到对象了

前几天面试,被问到面向过程和面向对象的意义与区别。

既然提到了对象一词,不妨就从“对象”说起。

首先,我们营造一个面向“对象”的氛围。

码猴和他的女朋友对面而坐,在一个温馨的西餐厅,码猴打算浪漫一把,让她知道码猴并不是一个不浪漫的程序员,码猴仅仅是不浪漫而已。

所以码猴来餐厅之前,就准备好了一个流程:

步骤一:码猴打算在等餐的时候,假装无聊,掏出电脑,开始coding。

步骤二:约会的时候coding,码猴觉着她的女朋友一定很生气,然后她准备发火,码猴开始哄她。

步骤三:码猴把电脑屏幕转到她面前,让她看到码猴提前准备好在电脑屏幕上显示的会自动变换颜色和字体的“我爱你”。

步骤四:餐厅上菜,码猴笑眯眯得看着他的姑娘多云转晴,静待一个浪漫的夜晚。

然而,当码猴执行步骤一的时候,她的女朋友心想,他为了我们的未来,这么拼,真是辛苦他了,我坐在一旁,默默陪伴他吧。

码猴蒙圈了,没反应,这怎么办,提前没设计这个流程啊。

于是乎,码猴在流程中又加了一步:
步骤一又二分之一:如果她没反应,就给她看电脑上的“我爱你”。

突然码猴发现,如果在这一步就给她看“我爱你”,那么步骤三是不是重复了,要删除掉…………

想必写到这里,大家都知道我是一个很啰嗦鸡婆的人了,明明我就是想描述一下“面向过程编程”以及其弊端嘛,扯着么多没用的。

对,这就是面向过程编程,按照既定流程把程序写出来,优点简单粗暴直接明了占用资源少。但是整个程序都是耦合在一起的,如果某些步骤需要改变,可能会涉及到整个程序的修改,这就比较麻烦了。

于是乎,针对这种情况,码猴打算想想自己会做什么事情,码猴会“打开电脑”,“打开‘我爱你’程序”,“哄女朋友”,“点菜”,“度过一个浪漫的夜晚”等等技能,他发现他会的这些,是属于一类人通有的技能,他勤学苦练,想不到只是一个类的实例而已,真是可悲。

这就是“面向对象编程”了。

码猴和她女朋友都可以看成是某个对象,这个对象拥有的技能是可以随意使用的。所以码猴可以在一开始把自己会的技能都准备好,当女朋友使用“发怒”这个方法的时候,马猴调用“哄女朋友”这个方法,需要表白的时候,码猴调用“打开‘我爱你’程序”的方法,如果发现有些新情况要处理,那么给自己添加新技能就可以了(给自己的类添加新的方法)这就是面向对象了。

这就是我理解的面向过程和面向对象,不知道这么解释能不能理解起来更方便一些。当然,说来惭愧,开头说的面试我没过,我这个“对象”能调用的方法太少了,不过我在努力添加新的方法进去。

2018过去快三分之二了,加油。尽管现在大环境不太好,但是只要肯努力,自身应该不会太差。

相关文章

  • 我眼中的“面向过程”与“面向对象”

    前几天面试,被问到面向过程和面向对象的意义与区别。 既然提到了对象一词,不妨就从“对象”说起。 首先,我们营造一个...

  • Java学习day-07:面向对象

    一、面向过程和面向对象 1.面向对象与面向过程的区别: 面向对象具有三大特征;封装,继承,多态;面向对象与面向过程...

  • 2、面向对象

    一、面向对象 定义:面向对象是基于面向过程的。 面向对象与面向过程比较:面向过程:面向过程是以函数为基础,完成各种...

  • 面向过程和面向对象的区别

    参考文章:面向对象和面向过程的区别面向对象与面向过程的本质的区别 面向过程(pop)和面向对象(oop)是什么 p...

  • Java基础语法_Day06

    一、面向对象概述 面向对象思想 面向过程思想与面向对象思想A:什么是面向过程面向过程,其实就是面向着具体的每一个步...

  • P 面向对象 | 面向对象

    一、面向对象 1.1 面向过程与面向对象 1.1.1 面向过程 怎么做 1.1.2 面向对象 谁来做应对复杂的项目...

  • Java复习笔记——系统整理

    一、面向对象概念 1. 类与对象 1.1 面向过程和面向对象 面向过程 (Procedural Programmi...

  • OC之02类与对象01面向对象之思想

    面向过程与面向对象 我们都知道OC是面向对象的,C语言是面向过程的,而面向对象与面向过程只是解决问题的两种不同的思...

  • 【技术贴】java面向对象的基本概念

    java面向对象概述 一,面向过程与面向对象 1,程序的发展经历了两个主要阶段:面向过程、面向对象。 2,对于面向...

  • 面向对象

    1.【应用】面向对象概述 a. 【理解】能够阐述面向对象思想与面向过程思想的特点 A:什么是面向过程面向过程,其实...

网友评论

本文标题:我眼中的“面向过程”与“面向对象”

本文链接:https://www.haomeiwen.com/subject/qkrjbftx.html