面向对象和面向过程详解
说到面向对象,我们都知道C#, Java, C++, python, JS… 都是面向对象的编程语言
说到面向过程,我们都知道C,fortran等都是面向过程的编程语言
今天我们来说说,面向对象和面向过程到底有哪些不同?
面向对象的优缺点
优点;通过封装,继承,多态把程序的耦合度降低, 用设计模式使程序更加灵活,容易修改, 并且易于重用. 缩短开发周期, 重用性和继承性高, 降低了重复的工作量,
缺点;程序处理效率会降低
面向过程的优缺点
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
面向对象和面向过程的区别?(面向对象是一种解决问题的思想.)
一,面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
二,面向对象是空间逻辑思维,实在程序的各部分的拼接;
面向过程是时间逻辑思维,走从前到后的过程。
三,面向对象是一种以事物为中心的编程思想,注重的是对象本身
扫描二维码关注公众号,回复:
11441890 查看本文章
面向过程就是以过程为中心的编程思想,注重的是实现程序这个过程
四,面向对象是把这个目标拆解成不同的小目标,每个目标有自己的功能。
面向过程和面向对象都是为了解决问题,面向过程是立一个目标,分步骤解决。
例如;五子棋游戏
面向过程的设计思路
首先分析问题的步骤:
1、开始游戏,
2、黑子先走,
3、绘制画面,
4、判断输赢,
5、轮到白子,
6、绘制画面,
7、判断输赢,
8、返回步骤2,
9、输出最后结果。把上面每个步骤用不同的方法来实现。
面向对象的设计思想
面向对象的设计则是从另外的思路来解决问题
1、黑白双方,这两方的行为是一模一样的,
2、棋盘系统,负责绘制画面,
3、规则系统,负责判定诸如犯规、输赢等。
第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。
对象;
对象就是现实世界存在的任何事务都可以称之为对象,有着自己独特的个性
对象的构成;
属性+方法+事件