您的位置:首页 > 编程语言 > Java开发

java多态的理解

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

下面给出两个我觉得写的很不错的博客地址

/article/1384933.html

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里面的方法。

语言表达能力有限,挺晚的了,就写到这吧,有不明白的地方欢迎留言指导。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: