第十五章:类和对象

    在大学的时候,第一次接触的语言是怕死狗(PASCAL),第一次接触的程序设计是面向过程。很多文章就面向过程和面向对象进行了详细的比较,这里我就不再班门弄斧了。

    我并不想在此评论两者之间的优劣,更不想因为自己使用面向对象而狂夸其优点。我想,既然面向过程还没有消亡,那自然还有其存在的意义。

    我想说的是,既然我们选择了C++语言,选择了VC++这个开发工具,那么我们就必须学会如何在我们的日常工作中去灵活的应用它。这是最基本不过的东西了。直接点说,它是我们这类程序员的生存基础。搞不清面向对象,那么你的程序员之路就难以平坦,广阔。

    面向对象中,首先要弄清楚的就是类和对象了。对于许多初学者来说,这两者的概念并不是很清楚,这个在论坛的帖子中经常可以碰到。经常有新手直接拿类名称当对象进行操作,或者定义了两个类对象后当成一个对象在使用。

    这些初级的问题,对于老手来说可能觉得不可思议,怎么会发生这种错误呢?有时候猜测问题可能出在这方面时,我会特别问一下楼主是否是初学者,一般都是初学者容易犯这个错误。而既然他们是初学者,你会发现很多简单的东西也很难和他们说清楚,因为他们并没有什么概念,所以很多的解释都是用未知来解释未知,自然无法说明白问题。

    这里我就举个例子来说明一下,也希望初学者在搞不清楚类和对象的关系时,能够来看看,或许你就不会因为看不懂别人的回复而痛苦,甚至于失去信心了。面向对象的很多东西,和我们自己,和我们周围的东西,和我们周围发生的事都存在很多相同之处,通过这种类比,对你学习和理解面向对象的概念有很多的益处。大家不妨多留心一下。

    我经常在对新人讲解面向对象的时候,用一个公司的组织结构和职责分工作为例子。类好比是一个岗位,而对象就是负责这个岗位的员工。岗位的责任规范好比是一个类的定义文件,但它只是一个定义,不会直接产生任何动作。这些动作的产生必须有对象,也就是负责这个岗位的员工来完成。所以,当我们需要进行执行某项动作时,那么执行者肯定是对象而不是类。

    同样,一个岗位可能同时由多个员工,比如一个项目组的编码人员一般会同时有好几个人。这些人的岗位责任是一致的,就好比一个类创建了多个对象,也叫做实例。但是,实际工作中,A程序员和B程序员负责的具体工作是不同的,你不能让A程序员写了一段代码后,直接叫B程序员去调试,否则B程序员会莫名奇妙,不知道你在说什么,因为他根本没写过你说的东西,怎么去调试呢?这就是两个类对象之间的区别。当然,你可以先进行协调,让A程序员和B程序员共享这段代码后,就可以让B程序员去完成调试任务了。这在工作中就好比使用了CVS或者SVN等工具,在类与对象中就好比进行了对象复制或者赋值。

    当然,细心的网友可能会在这个例子中挑出一些毛病,但对于初学者来说,先了解到这个程度就够了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

快乐鹦鹉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值