当我们学习软件编程开发技术时,我们会发现对于大多数新手程序员而言,面向对象和面向过程的编程方法总是非常令人困惑. 让我们做一个简单的比较.
面向对象和面向过程:
首先我们必须确保:
它们是面向对象还是面向过程的,它们都以不同的方式解决了相同的问题.
1. 面向过程将程序视为功能的集合面向过程方法,而面向对象将程序视为程序中各种独立且可调用的对象的集合.
2. 面向过程是分析解决问题所需的步骤. 面向对象是将问题中的关键内容提取到对象中.
提取对象的目的是将这些步骤分配给相应的对象,然后这些对象管理自己的行为.
例如: 如何将大象安装在冰箱中?
面向过程:
为了将大象放入冰箱,需要三个过程.
a. 打开冰箱门
b. 将大象放进去(打开门后,把冰箱和里面的大象放在一起)
c. 关上冰箱门(打开门并安装好大象后,将冰箱门关上)
每个过程都有一个分阶段的目标. 按顺序完成这些过程会将大象放入冰箱.
面向对象:
为了将大象放入冰箱,需要执行三个动作.
每个动作都有一个执行程序,即对象.
a. 冰箱,你为我打开门
b. 冰箱,你把我放到大象里(或者大象,你把我放到冰箱里)
c. 在冰箱中,您可以关并一步一步地执行这些操作,也可以将大象放入冰箱.
3. 面向过程的过程应注意每个步骤的实现细节,关注度较高. 每次打开该功能以了解每个步骤的含义.
面向对象不关注实现细节,仅关注哪个对象负责提供此步骤,而对象负责自身提供的服务.
4. 面向对象的编程是一种设计思想. OOP将对象视为程序的基本单元. 对象包含属性和用于操纵这些属性的方法.
5. 在程序中,类实际上是数据类型!例如: 整数,十进制等. 整数还具有一组特征和行为.
面向过程的语言和面向面孔的语言之间的区别在于,面向过程的语言不允许程序员定义自己的数据类型,
只能使用内置数据类型!为了模拟现实世界面向过程方法,以更好地解决问题,
通常我们需要创建解决问题所必需的数据类型!面向对象的编程为我们提供了解决方案.
摘要:
我认为这两者不是对立的,而是两者相互促进. oo思想可以帮助我们以与人类思维一致的方式思考,
面向过程的思想可以帮助我们在实现对象中提供的接口时确保正确的逻辑顺序.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-164346-1.html
以乱放屁罪判处3年有期徒刑