再谈面向对象

以前发过一篇文章关于面向对象的,好多都是书中的东西,感觉不是太多贴切,今天就按我这些年的经验,再谈谈面向对象

首先要理解何为面向对象:

说面向对象首先要谈面向过程:面向过程就像是普通的工匠去做一张桌子,做桌子需要什么,不管,总之我需要什么的时候找什么就ok了,也就是按"需",流水化,(可能说的不到位,谅解)

面向对象是什么那?就比如:建北京的鸟巢,那些是想到什么做什么么?显然不是的!这个必须有建筑师,等等一系列专家在一起商讨方案,定下图纸,定下规划,然后才有"动手"盖鸟巢!这就是区别.

而面向对象有几大特点:通常所说的有封装,继承,多态,有些说法也加上抽象!我们暂且不说抽象,就说那三大特点!

何为封装:我记得曾有人给我说过这样一句话,我觉得来形容封装最贴切不过!封装--->就是把内部实现细节隐藏起来,把固定的不变的东西暴露出去!

何为内部实现细节?就比如有个求两个数的和的功能,我们可以把求和的过程摘出去为一个方法,之后我们只需要调用,而方法内部怎么实现求和,我们不需要取管,我们只需要管的是我们调用sum(a,b)方法之后就给我返回一个值,我们不用管它最终的结果对不对!(如果不对的话好好练练1+1),我们只需要管的是我调用这个方法他就给我返回个值,方法内部怎么实现,不需要知道,这就是内部实现细节,而暴露出去的可以的方法,就是固定不变的东西!(可能有点绕了,拿java原生代码举个例子),比如说ArrayList,里面有一系列的方法,内部有它自己的构造,我们需要知道么?我们不需要,我们只需要知道我们要得到ArrayList的长度调用size()方法就可以了,内部实现细节需要知道么?不需要,这就是封装!再说一遍:所谓封装,就是把内部实现细节隐藏起来,把固定的不变的特点特性方法暴露出去!

继承:作为面向对象的又一大特点,继承!业界有一句话就是,java是一种单继承多实现的语言!这句话对吗?对,也不对!java是绝对的单继承么?注意,我的描述,绝对,答案自然是否定的,java并不是绝对的单继承,因为java中有一个"奇葩"打破了这个定律,呢就是接口!接口和接口之间就是多继承关系!这是java中唯一的多继承!继承的妙处我就不在多说了!

最后就是多态:多态的体现就是方法的覆写和重载上,往细不说,相信稍微有点基础的都可以理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值