java多态的理解

1 篇文章 0 订阅

接触java已经很长时间了,但是一直觉得自己理解的不够深入,于是今天重新学了一下java最重要的三个特性——封装,继承,多态。

下面给出两个我觉得写的很不错的博客地址
http://blog.csdn.net/chenssy/article/details/12757911
http://www.cnblogs.com/jack204/archive/2012/10/29/2745150.html
第一个地址是写了作者对封装,继承,和多态的理解。
第二个地址是讲多态的,里面 有个很有意思的小题目,如果你能全做对,并且能知道为什么,那你不用看我写的内容了,你已经比我厉害多了。

好了,现在总结一下我自己的理解吧。
封装
封装就是将属性和方法写到一个类里面,并且这个类会根据需要提供一些属性和方法,这个private,protect和public不用我多说了吧。写类就要尽量做到高内聚,低耦合呢。这个我就要说一下了,我估计很多人和我一样学了挺长时间了还是不明白什么是高内聚,低耦合。好像很高深的东西。其实一点都不高深,你写程序写的多了肯定不知不觉就朝着这个方向发展了。
内聚
内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;说白了就是类里面的事情,把这个类该写的事写好了就是高内聚了。所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。这个一般都能做到,谁有事没事把一些无关的事情写到一个类里面啊。
耦合
对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
而好的封装是高内聚低耦合的,封装确实可以使我们容易地修改类的内部实现,而无需修改使用了该类的客户代码。
这样做都是为了提高可读性和可维护性。

继承
继承,就是父类和子类的关系,父类是个比较模糊的概念,比如说人;子类是对父类的一个扩展,子类一定是比父类更具体的一个事物,比如说男人和女人。需要多注意的可能就是接口和抽像类了。

多态这个就比较不好理解了,很有可能会把初学者绕晕的。理解多态,你首先要理解封装和继承。此外你还得知道函数的重载和函数的重写的概念。如果这些你都还没掌握,拜托你不要和我说多态。
class A,Class B extends A
A a=new B();
是不是对于这样的一个a对象很头疼。
a是一个A类的对象,但是它却是用B类实例化的。这时候的a可以调用A类里面的所有方法,也可以调用B
类里面对于A类里面的重写的方法。就是说A类的所有的方法都能调用,除了在B类里重写的方法。a也可以调用B的重写了类A里面的方法。
语言表达能力有限,挺晚的了,就写到这吧,有不明白的地方欢迎留言指导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值