我想问问我现在对面向感觉概念有点模糊正常吗?
我想问问我现在对面向感觉概念有点模糊正常吗?
我想问问我现在对面向感觉概念有点模糊正常吗?
我想问问我现在对面向感觉概念有点模糊正常吗?
我想问问我现在对面向感觉概念有点模糊正常吗?
2016-09-24
看到这个问题就忍不住想多说几句。
古代说认识事物的三种境界:看山是山,看水是水;看山不是山,看水不是水;看山又是山,看水又是水。
放到程序设计中,以求解1+1为例。
在学习入门的初期,传统的结构化编程方法足以解决我们的需求,也利于理解。这个时候大多数人就直接返回1+1=2;
再进步一点,可能会考虑到程序的可拓展性,用类似int add(int a, int b)的形式来写,也就是函数形式;
可是当我们接触了面向对象的思想之后,应该知道万事万物皆为对象。求解1+1这个问题也是一个对象,可是这样的抽象层次未免太低,实用性也不强。这个时候可能会有人考虑到把抽象程度提升到加法层次,这样我们就可以计算任何形式的加法了;可是这样就足够了吗?当然不!现在只能计算加法,以后要是乘除怎么办?所以合理的我们应该建立一个计算类,也就是抽象程度提升到计算这个层次。
在我看来,面向对象的核心就是抽象。然后才是我们常说的继承,封装和多态这些方法。在学习中,最重要的就是边敲边思考,有的概念当时可能觉得很玄乎,很虚假,可是当我们积累到一定层次,就会慢慢理解了。
引用我大二C++老师的一句话,“如果你们觉得建一个类就是面向对象编程了,那就太过肤浅,那只是踏入面向对象编程的第一步。”
祝好!
举报