对比面向过程方法和面向对象方法的优劣(一)

对比面向过程方法和面向对象方法的优劣(一)

前言:
面对这个问题,我们首先能想到两个代表性的语言C/C++,亦或是Java。区别大,优劣也区别明显。我们刚开始学习编程时都会面对“HelloWorld”“A+B Problem”等等的问题,面向过程程序更偏向于算法,面向对象更偏向于开发。简单的问题完全不需要使用面向对象,其次,面向对象能够编写的问题面向过程也基本可以编写,面向对象的优势不仅在于代码的重用性,所开发的软件越大,面向对象的好处就越体现出来。本篇整合各篇网文以及作者自己的理解。
一、理解面向对象与面向过程
理解面向对象,首先要理解几点:
1、 面向对象是相对于面向过程而言
2、 面向对象将执行的动作以及功能封装进了对象,强调了对象具备一定的功能
3、 开发与设计的过程:不断的创建对象,使用对象,管理对象,维护对象及行为。
4、 面向对象所拥有的封装、继承、多态等功能
5、 类是对象的抽象,对象是类的具体实例
6、 对象是具体的而类是抽象的
面向过程则与之不同:
1、 面向过程以事件为中心,将问题模块化步骤化,使用函数实现各个步骤,调用函数将事件实现
2、 过程化使任务变得明确,代码短小且可读性高,程序效率高
3、 因过程化节点清晰,便于分析
二、优缺点
这里只举个别例子
1、代码的效率
这里我们举个例子,算一下多项式 在给定点x的值,我们在调用函数时加入跟踪时间的函数。主要代码如下:
在这里插入图片描述
在这里插入图片描述

通过运行大于一万次次我们能计算得到,每个c语言调用用时大概是0.4ns,可知在进行开发时,庞大的代码量会导致程序运行耗时过长,而面对对象则是需要什么调用什么。
除此之外,面对对象中,类是抽象的,不用占内存。
2、程序开发与维护
还是举个例子,开发下五子棋程序:
面向过程:(1)开始游戏(2)黑子先走(3)绘制画面(4)判断输赢(5)轮到白棋(6)绘制画面(7)判断输赢(8)返回步骤(9)输出结果
面向对象:(1)黑白双方,行为一致
(2)棋盘类,负责绘制画面
(3)规则类:负责判定犯规、输赢等
可见,面向过程始终关注如何一步一步执行函数,通过控制代码让程序顺利运行。而面向对象结构清晰,程序更加符合人类的思维方式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值