
面向对象和面向过程的编程的思考和解释(江世贤电子商务071山东工商学院)面向过程的编程和面向对象的编程都是设计程序的方法,这是由于它们的不同之处对象上的操作不同的设计思路. 本文是在作者研究了“面向对象程序设计-C ++语言描述”课程之后写的. 作者总结了面向对象编程和面向过程编程之间的区别和联系. 对一种编程思想的思考和理解. 1.面向对象和面向过程的编程简介以“对象”为编程实体的面向对象的编程可以追溯到1960年的Simula 67语言. 面向过程的编程比面向对象的编程要早得多. 两者都有自己的核心思想结构. 面向过程的设计思想发展得很早. 当今的C语言是一种典型的面向过程的语言,而面向对象以其独特的编程视角被当今的人们广泛接受,而C ++是其典型代表. (1)面向过程的编程面向过程的结构化编程方法是使用面向过程的方法来设计结构化程序. 一个结构化的程序通常包括一个主流程和几个子流程,每个子流程描述一个小问题的解决方案,然后主流程从上到下调用每个子流程以逐步解决整个问题. 整个执行过程从主过程开始,到主过程的end语句结束.

因此,结构化编程方法是数学思维或计算机思维方法,与人们熟悉世界时所习惯的方法不同. 面向过程的编程通常使用自顶向下的设计方法进行设计. 在这种设计方法中,程序每个步骤的直接功能依赖性非常严格. 为了解决问题,有必要一步一步地设计功能步骤,每个链接都是互锁的,没有错误. 一旦链接出错,将影响整个问题的解决. 面向过程的设计语言主要是C语言和Pascal语言. 有关相关代码的示例说明,我们将在下面进行比较和介绍. (二)面向对象程序设计面向对象程序设计(英文: Objective-Oriental Programming,简称: OOP),指的是一种编程范例,也是一种程序开发方法论. 它以对象为程序的基本单元,并封装程序和数据以提高软件的可重用性,灵活性和可扩展性. [1]在面向对象的程序设计中,程序由单独的模块组成. 在程序设计的过程中,我们首先分别设计,编码和测试这些模块,最后将这些模块组合在一起以形成完整的应用程序. 面向对象编程的主要概念是类,对象,方法,详细的传递机制,继承,封装,多态性和抽象.

它与面向过程的设计之间的差异也反映在这些概念中. 早期,完全面向对象的语言主要包括Smalltalk和其他语言. 当前,更流行的语言是Java,C#,Eiffel等. [2]第二,面向对象和面向过程的编程之间的联系. 面向过程的编程诞生于面向对象编程的思想之前. 为方便起见,两者都是在编写程序的过程中出现的. 面向对象设计的核心是对象,而面向过程的编程则强调程序的过程. 但是两者之间有联系. 下一节重点介绍面向对象的编程和面向过程的编程之间的关系. (1)面向过程编程的思想如前所述,面向过程编程的核心思想是程序的自上而下的设计. 下面以设计的具体示例为例. 程序员在设计通讯簿时,必须首先定义通讯簿中涉及的变量的类型. 其中,我们将使用char类型来定义用于存储地址簿名称的变量,而我们将使用int类型来定义用于存储号码的变量. 但是,在实际操作中,我们不需要对存储的电话号码的大小进行数字比较,因此为了便于操作,我们还使用字符类型char来定义电话号码. 这样,一个名称对应于多个电话号码,每个名称也对应于一个朋友条目,因此在开始之前,我们定义了所有与名称,电话号码,朋友条目等相关的变量的类型.

此设计思想如下图1所示: 为了便于管理诸如朋友条目之类的变量内容,我们还需要使用指针参数. 这样,联系人名称可以从一个朋友条目转移到另一个朋友条目. (B)面向对象编程的思想面向对象编程和面向对象设计的重点是解决在面向过程的编程和自上而下的设计方法中出现的一些问题,例如串联变更. [3]在面向对象的编程中,模块的基本单元是类,而不是过程. 以为例,如果我们使用面向对象的设计语言编写代码,则必须首先创建一个适合每个对象的类. 通过研究通讯簿,我们必须首先为通讯簿创建一个类. 此类包含名称,电话和电子邮件等属性. 相关代码如下: #include“ CommEntry.h” void CommEntry :: input(){cout <<“ Name: ”; cin >>名称; cout <<“电话: ”; cin >> tel;} void CommEntry: : output(){cout <<“ Name: ” << name << endl; cout <<“ Tel: ” << tel << endl;} void CommEntry :: setName(字符串nm){name = nm;} void CommEntry :: setTel(string t){tel = t;}字符串CommEntry :: getName (){返回名称;}字符串CommEntry :: getTel(){返回tel;} void FriendEntry :: input(){CommEntry :: input(); cout <<“电子邮件: ”; cin >> Email;}无效FriendEntry :: output(){CommEntry :: output(); cout <<“ Email: ” << Email << endl;}空FriendEntry: : setEmail(字符串em){Email = em;}字符串FriendEntry :: getEmail(){返回电子邮件;}名称输入和输出的代码,电话如下: #include

每个属性之间的关系由相关代码定义. (3)面向对象的编程和面向过程的编程之间的联系从上面创建地址簿的示例中,我们可以看到,在面向对象的编程中,程序的模块结构和可读性比流程的要好-面向. 类别(CommEntry)可以直接反映在程序中,其概念和处理方法更符合人类理解,分析和解决问题的一般规律. 从比较中可以看出,通过面向对象的编程方法获得的程序是类的集合,而通过基于过程的编程方法获得的程序是函数的集合. 因此,在设计面向对象的程序时,请勿使用独立的函数来构造程序. 与面向过程的结构化编程方法相比,面向对象的编程方法至少具有三个优点: 首先,面向对象的编程易于阅读和理解,程序员只需要了解必要的细节,降低了复杂性. 该程序使其更易于维护;其次,程序员可以通过修改,添加或删除对象来方便地修改,添加或删除程序的属性,从而使程序具有易于修改的特点. 第三,程序员可以保存一些通用的类和对象,可以随时将它们插入应用程序,并且可以直接使用它们. 它具有良好的可重用性. 因此,面向对象的设计方法是提高软件开发效率和解决软件重用的有效方法[4].
参考文献: [1]肯尼斯·劳登(Kenneth C. Laudon)什么是面向过程程序设计思想,简·劳登(Jane P. Laudon). 管理信息系统[M]. 东华书店,2002年. [2]维基百科. 电子文献的标题[电子文献和载体类型识别]. 电子文献的来源或网站,发布或更新的日期/引用日期(年-月-日). [3]理查德·约翰逊鲍(Richard Johnsonbaugh),马丁·卡林(Martin Kalin). 面向对象程序设计[M]. 北京: 机械工业出版社. 2002. [4]朱树人,何柱立. 面向对象和面向过程的编程方法比较[J]. 长沙电力学院学报什么是面向过程程序设计思想,1998,13: 22.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-181898-1.html
怎么解释