Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1754687
  • 博文数量: 787
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-22 15:17
文章分类

全部博文(787)

文章存档

2008年(787)

我的朋友

分类:

2008-10-09 10:28:22

我们一直在犯一个很严重的错误

当我们学完一种面向对象的语言后便急于拿着它来编程,

如果你学完的是C,那么,你说“我会设计程式了!”

我非常的相信,因为C的确是一种小巧灵活的语言,一学完它

的确是可以解决我们很多的问题,不过更重要的是它是面象过程的,

我们的思维很容易接受这种从大到小,一步一步分析问题的方法,好

像这是理所当然的,所以你说“我会编程了”,我不怀疑。

 

但是,如果你学的是C++/JAVA,你说“我会设计程式了”我就深感

怀疑了。

也许你会说,我可以用JAVA写个记事本了,难道不算会编程么?

其实这只能说明你会用JAVA类库而以,也许你会觉得这很牵强,

不,我说的是事实,因为我们很多时候连面向对象的概念都很模糊

你可能会大声吼道,面向对象不就是一个类与对象的关系么?

的确这一说就说到了面向对象的核心了,,但往往我们还真搞不清什么是类。什么是对象。

        面向对象的思维方法是从生活中得来并再一次抽象的,但我们在生活却犯着这样的错误:

          当你拿着一盘苹果时,也许你会对你的朋友说。来,吃水果。或者你买了一块新的电子表(对是那种数字显示而非表盘),你会对你的朋友炫耀,看看!我的表多漂亮。

          但我们想过没有,苹果不并等同与水果,而是水果的一个具体,

水果是一种抽象,电子表也是一样,他是表的一个具体。我们常常把

具体的东西等同于他们的抽象了,这样,我们常常在创建一个类时只是

把对象的共同点进行了一个浅屋抽象,比如要创建一个水果类,而我们

创建的却是一个苹果类,他只是把“红富士苹果”,“XXX苹果”浅层地

抽象了一下,并没有抓住实质,,,

甚至有时我们干脆就直接就创建了一套具体的动作,把它封装在了一个类里

这时我们又回到了面向过程,,因为面向过程很多时候的确是一套动作+数据

的组合。

 

所以,我们一直在拿着面向对象的语言盲目的写程式,我们根本没有抓住它的

灵魂,我们还是按照一种习惯的过程式或其它的方法写程式,只不过原来的函数

换成了类而以。

        这就是我为什么发出“我们一直在犯一个很严重的错误”的感慨的原因,,

也许我们在学完C++后,的确是要克住一下激动的心情,静静地坐下来再学一学

面向对象的方法



--------------------next---------------------

阅读(506) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~