面向对象和面向过程之间的区别以及优缺点
面向对象和面向过程详解
说到面向对象,我们都知道C#, Java, C++, python, JS… 都是面向对象的编程语言
说到面向过程,我们都知道C,fortran等都是面向过程的编程语言
今天我们来说说,面向对象和面向过程到底有哪些不同?
面向对象的优缺点
优点;通过封装,继承,多态把程序的耦合度降低, 用设计模式使程序更加灵活,容易修改, 并且易于重用. 缩短开发周期, 重用性和继承性高, 降低了重复的工作量,
缺点;程序处理效率会降低
面向过程的优缺点
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
面向对象和面向过程的区别?(面向对象是一种解决问题的思想.)
一,面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
二,面向对象是空间逻辑思维,实在程序的各部分的拼接;
面向过程是时间逻辑思维,走从前到后的过程。
三,面向对象是一种以事物为中心的编程思想,注重的是对象本身
面向过程就是以过程为中心的编程思想,注重的是实现程序这个过程
四,面向对象是把这个目标拆解成不同的小目标,每个目标有自己的功能。
面向过程和面向对象都是为了解决问题,面向过程是立一个目标,分步骤解决。
例如;五子棋游戏
面向过程的设计思路
首先分析问题的步骤:
1、开始游戏,
2、黑子先走,
3、绘制画面,
4、判断输赢,
5、轮到白子,
6、绘制画面,
7、判断输赢,
8、返回步骤2,
9、输出最后结果。把上面每个步骤用不同的方法来实现。
面向对象的设计思想
面向对象的设计则是从另外的思路来解决问题
1、黑白双方,这两方的行为是一模一样的,
2、棋盘系统,负责绘制画面,
3、规则系统,负责判定诸如犯规、输赢等。
第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。
对象;
对象就是现实世界存在的任何事务都可以称之为对象,有着自己独特的个性
对象的构成;
属性+方法+事件
面向对象三大特性
封装性、继承性和多态性,
这里先不进行解释,以后会陆续更新.
面向对象和面向过程之间的区别以及优缺点相关推荐
- Java面向对象和面向过程有什么区别?网友:傻傻分不清楚……
面向对象,Obeject Oriented,是一种编程术语.面向对象是当今软件开发方法的主流方法之一,他是把数据以及对数据的操作放在一起,作为一个相互依存的整体,就是我们所说的对象.对同类对象抽象出其 ...
- python面向对象和面向过程介绍与区别
一.面向对象和面向过程的区别: a.面向过程: 1)根据业务逻辑从上到下写代码 2)开发思路是将数据和函数按照执行的逻辑顺序组织在一起 3)分开考虑数据与函数 定义性文字: 面向对象编程(Object ...
- 什么是面向对象编程?面向对象和面向过程有什么区别?
面向对象 面向对象的程序设计(Object-Oriented Programming,简记为OOP),是当下最流行的程序设计方式之一.在面向对象的设计思想中,将程序视为多个对象共同协作的结果.程序被划 ...
- 面向对象和面向过程有什么区别
问:经常听到有人说,计算机语言可以归为面向过程语言和面向对象语言,那么到底什么是面向对象,什么是面向过程呢? 答:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一 ...
- 编程思想:面向对象和面向过程
何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中.我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起,最后可能也只会说出一句就是那样啦,你知道啦 ...
- 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面向对象与面向过程的区别
面向对象与面向过程的区别 面向过程与面向对象,只是一种思维方式的划分 面向过程 面向对象 区别 以分步骤的方式解决问题. 用方法组织代码. 以分类的方式解决问题. 用类组织代码. 共同点 细节上用 ...
最新文章
- GAN与NLP的讨论
- Delphi 中的 XMLDocument 类详解(5) - 获取元素内容
- php 图像 处理,PHP 处理图像步骤解析
- zookeeper源码分析之四服务端(单机)处理请求流程
- 【数据结构总结】第五章 树和二叉树(非线性结构)
- 安装deepin linux
- mysql 镜像数据_mysql官方镜像数据存储问题
- Java|达梦工作笔记-达梦数据库同步工具(JDBC)
- verilog实现多周期处理器之——(二)第一条指令ori的实现
- hdu 1358 Period (KMP求循环次数)
- [C/C++] C++中new的语法规则
- 音创服务器系统手动加歌,音创ktv点歌系统的教程
- Tensorflow搭建GAN网络
- 如何写一篇计算机领域的论文(总结)
- linux mbr gpt 区别,MBR、GPT的结构和区别
- python:实现使用分而治之找到单峰列表的峰值算法(附完整源码)
- java happen-before_Java happen-before规则
- cad怎么画坐标系箭头_怎样用CAD画一个路标箭头?,来学习吧
- LATEX简介以及相应的环境配置方案(附带刘海洋的LATEX入门书籍链接)
- Onlyoffice 添加中文字体,并修改字体大小显示为小四、四号等中文