难道这样就够了吗?不,远远不够!
提前多熟悉阿里往年的面试题肯定是对面试有很大的帮助的,但是作为技术性职业,手里有实打实的技术才是你面对面试官最有用的利器,这是从内在散发出来的自信。
备战阿里时我花的最多的时间就是在学习技术上,占了我所有学习计划中的百分之70,这是一些我学习期间觉得还是很不错的一些学习笔记
我为什么要写这篇文章呢,其实我觉得学习是不能停下脚步的,在网络上和大家一起分享,一起讨论,不单单可以遇到更多一样的人,还可以扩大自己的眼界,学习到更多的技术,我还会在csdn、博客、掘金等网站上分享技术,这也是一种学习的方法。
今天就分享到这里了,谢谢大家的关注,以后会分享更多的干货给大家!
把一个事件执行的执行过程变为了类和类中功能的交互,也就是不同的对象之间的交互,因此我们也把这种称为面向对象程序设计。
eg:
比如对“把大象放进冰箱”进行分析。
面向过程:
- 打开冰箱门
- 把🐘装入冰箱
- 关好冰箱门
然后针对这三个步骤分别编写三个函数,从而实现整个过程
面向对象
需要分析出其中的对象以及这种对象具有的动作
- 对象1:大象。动作,被装。
- 对象2:冰箱。动作,开门,关门。
然后分别设计两种类,以及两种类所具有的动作。
此时,面向对象编程看起来设计要比面向过程设计复杂。后者只需要三个步骤就完成了,但是前者还要设计类,有点麻烦。
但是如果步骤不止这三个步骤,冰箱有冰箱的体积,温度,大象也有大象的体积,重量,不同的大象要放在不同的冰箱中还要有对应的温度,或者编程过程中突然有了新的需求。
那么面向过程的程序可能就需要重新设计,但是面向对象的程序因为对象和类已经明确,因此只需要在变化的类中添加相应的属性以及需要做的动作就行,此时,面向对象编程的优势就体现出来了。
网上看的另一个例子:
五子棋的实现过程
面向过程的设计思路:
就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现。
面向对象的设计思路:
整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。
两者对比
写在最后
可能有人会问我为什么愿意去花时间帮助大家实现求职梦想,因为我一直坚信时间是可以复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。
上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源
要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**