OOP(1) 为什么要用面向对象编程,它的优点是什么?

###说在前面的话
身边总能听到有人问这样的问题:学编程哪一种语言比较好?
我觉得在挑选一门语言进行学习之前,你需要做的一件事情就是打开一本介绍这门语言的书,看看他的前言,里边会告诉你这个语言到底是做什么的,有的还会告诉你他的优缺点,相信如果你看了几本之后,多少会有自己的理解和考虑,继而在选择一门你觉得有需要的语言。
这里多说一下,很多人学了C和C++,结果C++也只是用到了源自于C的一些基本功能,然后把输入输出由printf改成cout,以为会用了C++,这着实是一种悲哀。

###言归正传
如果你因为工作需求或者学习需求需要接触面向对象编程的话,我希望你可以在我的这个博客栏目下得到一些启示。
首篇博文分析你需要明白的问题一些问题,为什么要用面向对象编程?C++ 、Java、C#这些面向对象的编程语言到底有什么优势?下面从三个点来帮大家捋一下思路。


面向过程编程和面向对象编程

在没有出现面向对象编程之前,计算机程序被用于解决某个问题是按步骤来的,比如把大象装进冰箱,需要分三个步骤。当然,这个例子不足以形容面向过程编程的形式,下面我用一个下棋游戏设计的例子来分别说一下面向过程编程和面向对象编程是怎么做的。
面向过程编程的设计思路:
步骤化分析问题:
1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。
####面向对象编程的设计思路
功能化分析问题:
要实现这个游戏你需要有三个功能,1.黑棋和白棋的走动 2.棋盘的画面绘制 3.裁判系统判断输赢。

有什么差别呢?比如我现在要改动规则,或者加一些高级功能,比如悔棋等等,面向过程你就需要把你的改动穿插到程序的实现步骤中,有的时候这是一件非常头疼的事情,不如重新写过。。面向对象的话,你改动期盼的绘制功能就行了,这样改动更方便,对程序影响也更小。这只是其中一个例子,其他的优点还有很多。

##面向对象编程的优势
1.数据和方法(方法可以理解为函数)被封装在一起,这样做改动的时候对整个程序的影响不大。
2.通过继承减少代码的冗余。
3.易扩展
这些特点将在后续的博文中详细为大家介绍,有关于面向对象编程中的高大上名词:类,对象,封装,继承,多态,我将在后续的文章中尽量通俗易懂的进行解释。

邮箱 lifeliyan@163.com

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gaosiy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值