一,什么是面向对象?
面向对象。字面意思去理解的话,对象可以就是人,那么面向对象就是面向人。但是面向人的什么呢?在程序的编写中,人都是有需求的。所以其实面向的就是我们的需求。那么我们需求某种东西得要去实现他,怎么实现,用什么什么方法手段去实现,这就可以看成这个面向对象中“类”的概念了。
面向对象常说的有“对象”和“类”两个主体。再举个例子可知。对象是我自己,我现在想去扫地,但是我扫地必须得有工具。那么这个“类”其实就是我的工具。所以在开始扫地之前我们得先自己做个扫把,这个就是“类”的编写,你想让他具有扫把哪些特征,你就赋予他哪些特征。最后扫把做好了,拿给我这个“对象”使用。
如果这个理解了,那么也可以纠正一下“对象”的真正含义,其实谁用扫把不重要,我们是因为要扫地才制作的扫把,所以本质就是根据我们的需要去创造一个工具,最后为我们所用,我觉得这就是面向对象。
二,面向对象的3大特征。
1,封装性。其实就是我们制作工具的时候偷摸的藏起来做,让用的人不知道我的扫把是怎么做成的,用的什么材料。你就只管用就行,另外扫把如果你给拆掉了,那就不能当扫把用了。这既是封装性。
2,继承性。一个扫把不够用,我想多造几个扫把,那么之前的工序就可以直接拿来用,不需要重新费脑子再想怎么做,就像工厂的机械化生产一样。同时也能保证质量都一样。这就是继承性。
3,多态性。我们在重新造扫把的过程中,如果你有新的需要,比如想加个颜色,那么我们就可以进行一些小小的改动,最后造出来的扫把就是会有点不一样,这就是多态性。
最后再言归正传,面向对象无非就“类”和“对象”两个东西,“类”负责具体的事项,“对象”负责组织使用。“类”里也就两个东西,一个属性,一个方法。借用一句话表示:面向对象的本质就是以类的方式组织代码,以对象的方式封装、使用类。