正在加载图片...
说完面向对象的好处,我们必须马上来做几个问题的“纠偏”。 第一、面向对象并不代表解决问题的最高效率 确实地这样的。“面向对象”被提出,是因为某些问题实在太庞大太复杂了,人类的写程序 解决这些问题时,一会儿就胡涂了,晕了,搞错了,于是希望有一种方法来让程序员不会那么 快在一堆代码前精神崩溃。这才提出了“面向对象”。所以在我们第一次接触到这个概念时 请先记住,和我们前面所讲的一样,比哪为什么要有变量,为什么要有数据类型:编程语言设 计的不断改进,都是为了迁就人类的“容易犯错”或“天生懒惰”。否则,如果只是要追求最 高效率,如果人类有着机器般的脑,编程语言根本不需要有C,C++,JAVA,C#什么的,甚至连 汇编也不需要,只需要一个机器语言就可以。“面向对象”的编程思想迁就我们什么呢?它迁 就人类总是喜欢以比较自然的方式来解决问题。 先来考虑,“自然而然”的事,不一定是最高效率。这很多,比如,路口的红绿灯制度,显 然不是最高效率。最高效率其实应该是闯红灯。你会说,闯红灯会出车祸,出车祸不就堵车? 造成效率低了?哦,其实我是要说:如果每个司机,行人都闯红灯,并且能保证不撞到其它车 或行人,那么路口上车辆穿行的效率肯定最高。可惜,驾驶员做不到这一点,所以只好有红绿 第二、虽然说面向对象是“很自然的事”,但我们仍然要花力去学习。 古人老子说:“道法自然”。那什么叫“自然”啊? 这里的自然也是有规定的,并不是人类的所有行为都称为“自然”的,也不一定是你习惯的 行为就自然,你不习惯的行为就不自然。比如人家都觉得“饭前便后要洗手”,可若你偏要认 为这种行为太不自然,太做作,那我们也没有办法。 另外,人类解决现实生活中,有时也要追求点效率。比如,酒家承办婚礼,要准备10桌 样的酒席。每一桌上面都有这道菜那道汤的。我们可以把完整的一桌酒菜看成一个“整体 但大厨们可不这样认为,我猜他们在准备时,一定是先把某道菜一块儿做好10桌的份量,然后说完面向对象的好处,我们必须马上来做几个问题的“纠偏”。 第一、面向对象并不代表解决问题的最高效率。 确实地这样的。“面向对象”被提出,是因为某些问题实在太庞大太复杂了,人类的写程序 解决这些问题时,一会儿就胡涂了,晕了,搞错了,于是希望有一种方法来让程序员不会那么 快在一堆代码前精神崩溃。这才提出了“面向对象”。所以在我们第一次接触到这个概念时, 请先记住,和我们前面所讲的一样,比哪为什么要有变量,为什么要有数据类型:编程语言设 计的不断改进,都是为了迁就人类的“容易犯错”或“天生懒惰”。否则,如果只是要追求最 高效率,如果人类有着机器般的脑,编程语言根本不需要有 C,C++,JAVA,C#什么的,甚至连 汇编也不需要,只需要一个机器语言就可以。“面向对象”的编程思想迁就我们什么呢?它迁 就人类总是喜欢以比较自然的方式来解决问题。 先来考虑,“自然而然”的事,不一定是最高效率。这很多,比如,路口的红绿灯制度,显 然不是最高效率。最高效率其实应该是闯红灯。你会说,闯红灯会出车祸,出车祸不就堵车? 造成效率低了?哦,其实我是要说:如果每个司机,行人都闯红灯,并且能保证不撞到其它车 或行人,那么路口上车辆穿行的效率肯定最高。可惜,驾驶员做不到这一点,所以只好有红绿 灯。 第二、虽然说面向对象是“很自然的事”,但我们仍然要花力去学习。 古人老子说:“道法自然”。那什么叫“自然”啊? 这里的自然也是有规定的,并不是人类的所有行为都称为“自然”的,也不一定是你习惯的 行为就自然,你不习惯的行为就不自然。比如人家都觉得“饭前便后要洗手”,可若你偏要认 为这种行为太不自然,太做作,那我们也没有办法。 另外,人类解决现实生活中,有时也要追求点效率。比如,酒家承办婚礼,要准备 10 桌一 样的酒席。每一桌上面都有这道菜那道汤的。我们可以把完整的一桌酒菜看成一个“整体”。 但大厨们可不这样认为,我猜他们在准备时,一定是先把某道菜一块儿做好 10 桌的份量,然后
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有