昌平一中2017高考成绩:面向程序和面向对象有什么异同?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 18:11:35
经常听到说什么面向程序和面向对象~到底什么是面向程序?什么又是面向对象呢?他们有什么区别,异同呢?

打个比喻说,面向程序就是你这个软件从头至尾都用程序语句写成,而向对象就是软件是由一个一个的模块拼凑的。
你去学一下就清楚了,不过现在流行的大多是面向对象的,比如VB、VC等,面向程序就如原来的C、BASIC等。

首先声明一点,面向什么是高级语言的区别,在机器指令代码层是没有任何区别的,这两种面向只不过是高级语言越来越贴近人类的思维方式的进化而以,当然区别还是有的。
举个简单的例子吧
群殴。
如果是面向过程的话,比如说你率领10个人去打架,就要在打架的每一刻分别告诉他们
a:举起右手臂到什么程度 b:左脚前伸多少多少度 等等
而面型对象呢,就是要先创造一个叫做“打手”的类。然后用不同的参数初始化他们,比如说a.体重= 100 b。力量= 20 等等
然后只需要调用他们的方法 打手::打架(目标) 然后就可以了。他们就会按照你在类里面定义的东西自己去打了

而且,你的打手是可以输出的,你可以把他们以一个库的形式发行,让别人也使用你的打手。

在发布上的区别就在于面向过程的库都是函数形式的 比如c语言里的printf()
但是面向对象可以发布类 也就是上面说到的“打手”

其区别在于使用者,如果使用者使用的是函数形式的就必须在函数的参数表里把所有的参数输入完毕,然后就把控制权交给人家的函数了,在人家的函数运行完之前是不能进行调整的,
而如果是类呢,就可以在调用类的方法的间隙里对垒的属性进行调整,
比如说你的打手打死了一个人,结果去坐牢了,判死刑,
面对这个问题,如果是面向过程的语言发布的函数,就要看发布者是否考虑到了这个问题,如果他考虑到了,那一切都好,否则,你就要先按照人家的方法走。
但是对于面向对象的,你调用了打架方法之后,得到了返回值——打死,这个时候你就可以根据你的意图是让他升级——调整属性,让他坐牢——暂停他的动作,让他判死刑——输出点什么东西然后解构,随你便