当前位置:C++技术网 > 资讯 > 面向对象,你真理解了吗:1 认识的几重境界

面向对象,你真理解了吗:1 认识的几重境界

更新时间:2015-06-23 17:25:04浏览次数:1+次

    对于面向对象的思想的理解,真不是一下子就能理解的。没真正理解前,感觉好复杂,稍微理解后觉得就这样,真正理解后觉得原来是这样呀。
    对于面向对象的理解,有的朋友不屑一顾,觉得这个没什么好探讨的,以为是耳熟能详的,不值得一谈。但是,在日后的开发中,当初了解的那些面向对象的概念,基本不够用,总感觉用的很吃力,很缺氧的感觉。
    不要说这个概念不值得一提,万丈高楼平地起,而这个概念的理解,就是最根基的部分,理解不好,终究是会补回来的,搞不好会摔跤的,并且还不知道为什么。当然,如果你很清楚了,就不用往下看了。
    就大多数普通的人来说,对面向对象的学习和认知过程基本差不多,你只是芸芸众生中的一个,一时半会想不明白不要着急,想着想着,再看看别人的解说,就恍然大悟了,不过要自己思考过,否则,看了再多文章,你的理解终究停于表面。不过,本文可以很好的引导你熟悉它,给你一个好的启发,让你轻松愉快的理解它。当然,如果有涉及到不清楚的基本知识,就不一一详细解释,你需要自己去书上看。书上有的,不用讲述了,这里讲述的是书上所没有的。我一贯的风格就是,解说知识的同时更多的是在引导你去思考,希望你掌握知识同时多关注一下思考的层次的学习。
    面向对象的理解,大致有这么些理解过程。最开始只是听说有这么回事,上课时才开始接触。而老师的讲解,基本上来就是比喻,类比等。这样一来,学生也好接受一点,也好理解一点。什么是对象、什么是继承等等,和现实世界的关系进行关联讲解,这样,学生也基本知道是怎么回事了。但是,了解是了解,使用是使用。你再了解这个概念,终究还是不会运用,不能变化。一切就因为你只是了解,要深究的话,你还真不清楚。然后,面向对象的一些概念都来了,学生也都能够做到一知半解,或者勉强可以回答课本上的习题的问题。上课就这么回事。
    这个阶段叫做认知,只是认识规律中的第一个阶段,只是熟悉了而已。如果不加以深入,一定时间后,就差不多没印象了。
    第二个阶段就需要练习。学这个东西基本就是为了编程而学的,如果不动手,是不可能掌握的。认知的水平的东西,是很抽象的东西,而我们要编程,就是要具体的东西,要将抽象的东西转化成具体的东西,就要实践,那就是敲代码。千万不要把编程当做政治课一样去背,一点意义都没有,唯一要做的就是不断的思考和总结,最后就是升华。
    下一个阶段就是实战,开发项目。所谓的项目,是指一个完整的软件的开发过程,并不一定要是多大多少人来界定,自己设计一款软件,做好每一个细节,这就是项目。商业项目就是要对每一个需求每一个细节都要做好的项目,只是要求高而已。所以请不要误解了。实战过程中,因为各种具体的需求必须严格按照要求来实现,而不能跳过或者放弃,因为难度会提高。这里不仅要有扎实的基础,更要有丰富的开发思维。这思维就是对于每个需求要能够想出一套方法去实现,这也是最重要的,这就是业务逻辑。而这些业务逻辑正是经常会用上一些基本的知识,但是因为业务的交叉,从而变的复杂。而在开发的过程中,你的思维水平也不断地提升,对面向对象的理解也越发深入。最后就上升了水平。
    最高一个水平阶段就是抽象。这里并且是高度抽象,如果此时你整些名词,水平不高的还真听不懂。或者说出一种思想,别人还真没法理解。因为你水平很高了,认识到了事物的本质,对于同一个概念,你认识的更加深刻,而其他人做不到。不过到达这个层次的还是有两种区别的。一种是很深入出不来,一种是深入浅出。第一种就是,他很懂,是专家,研究的很深入。但是要他与初学者讲,讲的尽是些专业术语,没法以一种很通俗易懂的方式讲述,旁人听不懂。第二种就是,也是很深入,并且思想境界更高,已经将本质的东西提炼到极为简单了,正如真理其实是最简单的一样,尽管多复杂,提炼过后,就那么简单的几句话就说清楚,并且可以用通俗易懂的类比来将一个非常复杂的问题讲清楚,并且知道每一个细节涉及到什么,哪些人会不清楚,哪些人清楚。讲解出来,就算没学过的也听得懂,他可以把知识转化成任何类型的描述,可以和任何场景匹配。原因就是一个,抓住了本质,就可以很简单。
    这里只是讲述了一个认识过程,请对照自己,进行针对性的训练。下一部分,开始讲解面向对象的知识部分。