miracle just wanna be better

Java多态

2019-07-03
miracle

定义

顾名思义,就是多种表现状态
最直观的理解:有对象名称,用对象名称打点调用方法
在不同的时候执行的方法的功能是不一样的.

多态的判断标准

  1. 跨类且继承,多态是以继承作为基础的
  2. 子类重写长辈的方法
  3. 子类对象赋值给长辈的引用 比如:
    CommonPerson cp = new Student();
    Person p = new Student();
    Object obj = new Student();
  4. 用长辈的引用打点调用方法
    • 用对象打点能调用出哪些方法,取决于这个对象所对应的类或接口中有哪些方法
    • 如果用长辈的引用打点调用的方法,是重写过得方法,那么就执行子类重写后的方法
    • 如果长辈的引用打点调用的方法是没有重写的方法,则执行本长辈中的方法

多态的应用场景

  1. 以长辈作为方法或函数的参数

  2. 以长辈作为方法或函数的返回值

如果不用多态:
缺点:

  • 代码的书写量大
  • 结构不优化
  • 代码的复用率低
    最终导致开发效率低
    优点:
  • 代码的可读性高

如果使用多态:

  • 把所有的公有属性抽象出来,放在长辈类中,用于表示数据的吞吐
  • 把所有的公有方法抽象出来放在接口中,用于表示功能
  • 会增加类和类之间的关系,类和类之间的复杂度增高
  • 使用多态可以提高代码的复用率
  • 使用多态可以大大提高开发效率
  • 使用多态,程序的结构优化

Comments

Content