C/C++学习日志之一—面向对象和面向过程的基本理解

来源:互联网 发布:windows开源程序 编辑:程序博客网 时间:2024/06/04 18:16

首先,面向过程和面向对象是两种思维方式,可应用于软件开发中的各个方面,它与我们在现实生活中解决问题的思维方式并无二意。

面向过程

采用面向过程的思维方式,会将世界上的事物看作是相互关联的,彼此之间存在直接或间接的因果关系,不同事物之间相互影响,彼此依赖,以此形成一张巨大的网。具体到解决某个实际的问题时,面向过程的思维方式会寻求一个明确的起点,借由该起点寻求关联的一个或多个节点,从而一步步向问题的结束逼近。以造房子来举例,采用面向过程的思维方式会首先寻找一个合适的地点,根据该地点特征以及目的采用合适的钢筋搭建基本结构,然后根据基本结构进行主体砌筑、建造合适的柱子、建造合适的木料进行安装、用混凝土对主体进行浇筑,然后进行合适的装饰而成。

面向对象

面向对象是在我们的现实生活中较为常见的一种思维方式,即将世界的事物视作一个个对象,大部分对象是独立的,在很大程度上他们都是封闭的(类的封装性),仅通过一些对外的接口与其他对象链接,每个对象都有自身的一些特性,它们的特性通过与其他对象交互表现出来。有许多对象呈现出类似的特性,可以归为一类;对象可以衍生出新的对象,子对象具有父对象的部分特性(继承),衍生出的对象又彼此之间可能存在差异(多态)。同样以造房子为例,采用面向对象的思维方式时,会根据目的直接选取一个已有(或自定义搭建再封装)的构架,再根据基础构架的特性采用能与构架兼容的钢筋,之后选用合适的主子和木料等,所有需要的东西都直接选用,而不关心其实现过程。若遇到没有现成对象时也会自行搭建一个对象,对象的搭建过程中往往也存在面向过程的思维方式。

面向对象的实现过程中往往也存在面向过程的思维方式,两者最根本的区别在于将世界的构成(解决问题的方法)看成是一个整体(内部事物紧密联系,彼此公开)或是由一个个彼此不透明仅通过一些共有的交流方式链接的存在。

0 0
原创粉丝点击