【面试题】面向对象与面向过程的区别
面向对象与面向过程主要有以下几个方面的不同之处:
1.出发点不同
面向对象方法是用符合常规思维的方式来处理客观世界的问题,强调把问题领域的要领直接映射到对象及对象之间的接口上。而面向过程方法强调的则是过程的抽象化于模块化,它是以过程为中心构造或处理客观世界的问题。
2.层次逻辑关系不同
面向对象方法则是用计算机逻辑来模拟客观世界中的物理存在,以对象的集合类作为处理问题的基本单元,尽可能地使计算机世界向客观世界靠拢,以使问题的处理更清晰直接,面向对象的方法是用类的层次结构来体现类之间的继承和发展。而面向过程方法处理问题的基本单位是能清晰准确地表达过程的模块,用模块的层次结构概括模块或模块间的关系与功能,把客观世界的问题抽象成计算机可以处理的过程。
3.数据处理方式与控制方式不同
面向对象方法将数据与对应代码封装成一个整体,原则上其他对象不能直接修改其数据,即对象的修改只能由自身的成员函数完成,控制程序方式上是通过“事件驱动”来激活和运行程序。面向过程方法是直接通过程序来处理数据,处理完毕后即可显示处理结果,在控制程序方式上是按照设计调用或返回程序,不能自由导航,各模块之间存在着控制与被控制、调用与被调用的关系。
4.分析设计与编码转换方式不同
面向对象方法贯穿于软件生命周期的分析、设计及编码中,是一种平滑过程,从分析到设计再到编码是采用一致性的模型表示,即实现的是一种无缝连接。面向过程方法强调分析、设计及编码之间按规则进行转换,贯穿于软件生命周期的分析、设计及编码中,实现的是一种有缝的连接。
【面试题】面向对象与面向过程的区别相关推荐
- python面向对象和面向过程的区别_Python11-01_面向对象----面向对象和面向过程的区别...
面向对象编程 面向对象(OPP)编程思想主要针对大型软件设计而来的.面向对象编程使程序的扩展性更加强,可读性更好.使得编程可以像搭积木一样简单. 面向对象编程将数据和操作数据的方法封装到对象中,组织代 ...
- python 递归函数_Python尚学堂高淇|P82P86面向对象和面向过程的区别LEGB规则nonlocal_global递归函数阶乘计算案例...
P82-递归函数-阶乘计算案例 #使用递归函数计算阶乘def factorial(n):if n==1:return 1else:return n*factorial(n-1)result=facto ...
- C++ 面向对象与面向过程的区别与联系
转自:https://blog.csdn.net/jerry11112/article/details/79027834 前言: 如果你很想搞明白面向对象是什么,面向过程是什么,或者说二者之间的区别是 ...
- java面向对象与面向过程的区别
面向对象与面向过程的区别 面向过程与面向对象,只是一种思维方式的划分 面向过程 面向对象 区别 以分步骤的方式解决问题. 用方法组织代码. 以分类的方式解决问题. 用类组织代码. 共同点 细节上用 ...
- 面向对象与面向过程的区别与联系
面向对象与面向过程的区别与联系 一.区别 面向过程强调的是功能行为,以函数为最小单位,考虑怎么做. 面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做. 面向过程的分析 ...
- Java面向对象和面向过程的区别
面向对象,Obeject Oriented,是一种编程术语.面向对象是当今软件开发方法的主流方法之一,他是把数据以及对数据的操作放在一起,作为一个相互依存的整体,就是我们所说的对象.对同类对象抽象出其 ...
- 什么是面向对象?面向对象的特征?面向对象和面向过程的区别?
什么是面向对象? 面向对象是一种思想,世间万物都可以看做一个对象,这里只讨论面向对象编程(OOP), Java 是一个支持并发.基于类和面向对象的计算机编程语言. 面向对象软件开发具有以下优点: 代码 ...
- 面向对象和面向过程的区别及面试问答
面向对象和面向过程的区别 面向过程 :面向过程性能比面向对象高. 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机.嵌入式开发.Linux/Unix 等 ...
- 面向对象和面向过程的区别以及封装继承多态的优缺点
面向对象和面向过程的区别: 1.思路不同 2.特点不同 3.优势不同. 面向过程是直接将解决问题的步骤分析出来,然后用函数把步骤一步一步实现,然后再依次调用就可以了:而面向对象是将构成问题的事物,分解 ...
- 编程思想:面向对象和面向过程的区别与联系
前言 何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中.我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起.而这种茫然,其实就是对这两大编程思想 ...
最新文章
- CSDN下载资源+全领域电子书+程序员提升课,领取这些不香吗?
- sql 备份.bat
- 从国际站 - M 站建设谈开发者产品思维
- 浅谈ARMv8-A系列CPU的架构
- 【kafka】Apache Kafka 中的事务
- OSPFv3中LSA详解(一)——概述
- Search Engine Hacking – Manual and Automation
- 蓝桥杯13-20届真题答案解析(Java 大学 B 组)2013年省赛真题5_有理数类
- Qt5.2.1 + VS2012 环境配置
- 华为NCE网管配置EPLAN
- Win10系统修改开机密码
- 软件测试培训一般多少钱?
- linux 磁盘隔离,Linux 磁盘坏道故障修复
- 如何选取最佳前缀索引长度
- 第1章 java EE应用
- 『Less』学习笔记
- 利用Nginxcp为cPanel/WHM服务器开启nginx支持
- 甘肃省计算机二级考试试题,2013甘肃省计算机等级考试二级理论考试试题及答案...
- js、css引用文件的下载方式
- word表格标题和表格如何不分开