继承多态接口

Posted 纯真的梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了继承多态接口相关的知识,希望对你有一定的参考价值。

1、 继承的作用?好处?坏处?

继承:通过继承实现代码复用。Java中所有的类都是通过直接或间接地继程java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法。子类可以重写父类的方法,及命名与父类同名的成员变量。但Java不支持多重继承,即一个类从多个超类派生的能力。

优点:a因为大部分是继承而来的,实现代码重用,减少代码书写量;

b很容易修改和扩展已有的实现

缺点:a打破了封装,因为基类向子类暴露了实现细节

b白盒重用,因为基类的内部细节通常对子类是可见的

c当父类的实现改变时可能要相应的对子类做出改变

d不能在运行时改变由父类继承来的实现

2、 接口的好处?坏处?

优点:帮助Java语言实现一个类似于多继承的功能.但是实现的多继承功能不会使代码中的类之间出现网状关系,而是比较清楚的树状关系,类似于家谱的感觉。

缺点:如果向一个java接口加入一个新的方法时,所有实现这个接口的类都得编写具体的实现。

3、 多态的作用?好处?坏处?

作用:简单的说就是一个接口,多种实现;继承的表现就是多态(没有继承就没有多态。)

a应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。

b派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。

优点:a可替换性(可以替换一存在的代码);

b可扩充性(增加新的子类不影响原有类的特性);

c接口性;

d灵活性;

e简化性

缺点:a“遮盖”私有方法。只有非private的方法才能够被笼罩,尽管编译器不会报错,然而也不会遵照我们所渴望的来实行。在导出类中,对于基类中的private方法,优秀采纳不同的名字。

b域在转型时候的问题。对于成员变量(域),导出类将占有从基类承袭而来的成员变量和自己的成员变量(变量名字相一同也是如此),况且,将分摊不同的存储空间,这么,导出类将具有两个名目一样的域。为了取得基类的域,务须实际地著名super.field能力走访,而默许的域则是导出类自己的域。

c静态计策是与类相关系的,而非与某个对象相干联的,那么它就不拥有多态行动。

以上是关于继承多态接口的主要内容,如果未能解决你的问题,请参考以下文章

多态的好处作用

封装,继承,多态,接口

继承 多态 抽象类 接口等学习内容总结

大话设计模式封装 继承 多态

多态的好处??

接口继承与多态 总结(未完待续)