什么是多态
多态是面向对象的特性之一,从字面上理解,多态就是指一个对象在运行是会有多种形态,就比如可以说student是一个person,也可以说student是一个object。
我们来看一个经典的例子:
Service service=new ServiceImpl();
我们经常看到这样的代码,这就是多态的一种表现。
为什么要多态
多态可以让代码更加灵活,再举一个例子:
List<String> list=new ArrayList<>();
这也是我们常写的一句代码,为什么不把List换成ArrayList?
一个很大的原因就是要考虑到以后的情况,假设以后ArrayList已无法满足我们软件的需求,这时候可能需要一个和ArrayList相似的类来替代它,那么如果我们直接面向具体的类进行编程,以后的可维护性肯定会变差,所以多态能使我们面向抽象进行编程,使代码更加地灵活。
多态的缺点
那么多态肯定会有它的缺点,那就是我们无法调用我们具体类的方法。什么意思?举个例子:
假设我们的Person类有一个speak方法,Student类是从Person类继承过来的,它有一个额外的方法study。
那么我们直接这样:
Person student=new Student();
很明显,这样我们就失去了study这个方法。
点击查看更多内容
2人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦