我对面向对象编程优点的感悟

本文通过实验一和实验二的实践,深入探讨了面向对象编程与面向过程编程的区别。作者指出,面向对象编程在模块化、维护性和扩展性方面具有显著优势,尤其是在大型项目中,其易维护性成为首选。然而,面向对象编程的设计复杂度较高,需要全局思考。相比之下,面向过程编程在性能上占优,但在维护和扩展上存在局限。

一、前言
在完成了实验一和实验二,并进行了大量关于面向对象代码的编写后,我对面向对象这一编程思想有了更加深刻的认识。

二、比较面向过程编程与面向对象编程
面向过程编程
对于面向过程编程我没有能很好地说出它的优点。网上的说法是面向过程性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
面向过程编程的缺点下面我会一并讲述。

面向对象编程
经过了这两次实验,我认为面向对象最大的优点是模块化做得非常好,易于维护、扩展。
以实验二的任务三为例,该任务要求完成一个棋类游戏程序。若以面向过程的思想来编程,不难想到可以用几个二维数组来表示棋盘状态,再定义其他的大量的数据类型来作以辅助,稍加思考便可完成任务要求。
但这样的缺点是很明显的。
这样写出来的代码将会非常臃肿。也许你的设计、模块化做得很规范,但当你要修改某些代码时,可能会出现“牵一发而动全身”的难点。比如你要修改的地方涉及许多已定义的数据,同时还要找到其关相关函数并修改里面的细节,这时你可能不由地叫起苦来。
而改用面向对象的思想来编程,则会有易维护、易复用、易扩展的特点。
这是我完成这个任务所用到的ADT:
在这里插入图片描述
这里各个与棋类游戏有关的细节都用面向对象的形式完成。好处显而易见,当你要修改某些内容时,你可以很轻松地找到应该在哪里修改它们,有些ADT甚至一看就知道不用修改。
除此之外,这样设计程序会让你的代码看起来更容易理解,因为我们能很轻松地理解各个ADT的作用。
上述是我认为的面向对象最主要的优点。
那缺点是什么呢?那就是这样的程序设计起来非常麻烦,你要全局地思考很多东西。从某种意义上说,面向过程与面向对象就像两个对立面,一个设计简单维护麻烦,另一个反之。但日后我们参与的可能是各种大型项目,在这种时候易维护性肯定是首选,因此我们有必要熟练掌握面向对象编程的方法。

以上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值