很多人会思考一个问题
我没有对象怎么理解面向对象???
好吧 这个问题确实有点棘手
好了,言归正传。还记得高二的时候,我拿了一个星期的零花钱去淘宝上买了一本《java从入门到精通放弃 》,以为凭借自己的高中数学水平加之浸淫多年唐诗宋词的文言文理解能力可以在成为程序员的电视剧里多活两集。
然而
其实买书前的一个星期,我刚给自己的索尼智能机刷成砖…买这本大厚书就是为了搞清楚,手机还有救没,听说安卓是用java写的
果断被对象劝退
这本书看了大概有一个多月,主要是利用暑假的时候零零散散的看,前面的数据结构都还好,就是到继承,多态,接口这儿就不行了,很是费解。
再找对象
从头想想这件事情,书上都有说到搞一个类出来是为了让人更容易理解
???小朋友 你是否有许多问号
![](https://i-blog.csdnimg.cn/blog_migrate/05e4257ec1b758905af21b65d2d4c51f.jpeg)
这应该叫更抽象了。本来好好的几个数据类型和流程逻辑放在一起为啥就成了一个...对象。对不起,这跟我想象的对象不太一样,我以为是这样的
![](https://i-blog.csdnimg.cn/blog_migrate/658bda4a554979b8e516d6c0d8f9b3f4.gif)
咳咳…都水的快忘了这是一篇技术博客了
其实,我这菜鸡水平就不从技术层面上分析了。这次就想就我而言,为什么难以理解面向对象开发。想到哪说到哪,也没打草稿
1. 程序员很懒,他们不想重复造轮子
可以明白整个面向对象开发过程都是在省事儿,比如搞一个类,类下面有类属性,类方法。就是为了以后只要用到这个功能,我就打这个类名调用,省事儿。
2. 虽然省事儿了,但是我还要足够灵活
事儿是省了,但是需求多种多样,一个固定的类实现不了千奇百怪的需求,这时候就需要,让这个类灵活起来,继承,接口都是为了这个目的。
3. 模块化的思想
为了达到一个又灵活又省事儿的目的,最终不得不走向模块化之路。在开发功能之初,就把未来可能出现的新功能添加的位置预留出来,这就诞生了抽象类。但是又由于开发功能的人可能有很多,为了规范大家做出来的功能可以相互兼容,这时候接口出现了,功能的输入和输出就被规范化了,避免了数据在不同功能模块间传递的时候出现类型不匹配的问题。
总结
说到底还是用得少,逻辑的执行出来才容易理解,还是多敲代码,多实践才能把书本上学到的东西融会贯通。