从开始学习编程,面向对象就是我们的目标,一直在学,一直在用,一直在被推翻,也一直再被重新建立,对“OO”的认识,总是在边缘徘徊。
虽然说学习是个不断反复,盲人摸象的过程,可是,为什么我们用了两年的时间,还是只是在大象腿周围转圈?
个人情况:
1、面向对象家族的成员都认识,只是很少“主动和其打交道”。
总是习惯于一种固定的编程习惯,使用熟悉的方法去思考,不想去接触,去探索“不熟悉”的,没有去主动拿来用。而“OO”确确实实是“你用或者不用,我就在那里”,因此我们和“OO”是相对静止的观望。
2、为了用而用,不知其所以然
编程中,有泛型,有集合,了解继承,多态,也用了,但是没有深入的思考,这些东西给我们带来了什么?
没有对比,就不会看到巨人的伟大,当然就不会站在巨人的肩膀上去思考。
3、没有扩展
使用集合,泛型,体会到了一点好处,就沾沾自喜,没有思考在这个层面上的其他情况,或者更大层面上,类似的情况,可不可以使用,所以就停留在了“OO”的表皮,无法深入。
下图是在听课时做的笔记。
1、面向对象中只有两样东西:类,对象。前者是“虚”,只有被实例化了,才是我们需要的“实”。
2、面向对象中的任何东西的表现形式,归根结底都是通过“类”表现出来的(接口也是一种类)。
3、定义类的同时就是在“封装”,只是封装的好坏不同;在不断的抽象,实现/继承的过程中,就是多态的体现;
4、Collection不要翻译成“集合”,就是Collection。有些东西翻译过来后悔影响理解。从本身属性的角度来说Collection包含:list,map,set ,容器;不要让“list=集合”存在脑中。
对于这张图,都是“OO”的家庭成员,都被我们熟知。不做解释,也说不清,现在写出来总是觉得肤浅,贴图的目的:征集集体的思想,仁者见仁,留下您宝贵的“思想”!
原文地址:http://blog.csdn.net/wangyongxia921/article/details/37572549