5图理解OOP编程的多态

而多态性指的是对象的多态性,不是指类。

所以需要我们new一个对象,由这个对象可实现多态。

前提是这个new出来对象的类,需要继承类或者implements接口,也就是必须有父类。

以下均使用Java语言举例说明。

多态的格式和使用:

比如一只猫是动物的子类,猫被当做父类动物类来看待,这就是多态。

代码的多态性,就是父类引用指向子类对象。

如图,

我有一个Fu类,有一个Zi类继承自Fu类。

程序入口文件main方法,使用多态的写法是

Fu obj = new Zi();

等号左边是父类的引用,它指向了等号右侧子类的对象。

多态中访问成员变量的两种方式:

看成员变量是谁的就优先用谁的,如果没有则向上找,但是不能向下从子类找。

比如父类,子类都有一个成员变量

int num = 10;

如图,

这个obj.num,调用成员变量,优先从父类中的num找。

而obj.showNum(),这个调用的成员方法是子类的,则从子类的num找。

多态中访问成员方法的特点:

就是看右边new的对象的成员方法属于哪个类,则用哪个成员方法(比如子类重写了父类的成员方法时,我右边new的是子类,则使用子类的成员方法),当子类不存在调用的成员方法时,则向上找父类的成员方法。

多态的好处:

只要继承父类的子类都可以使用某个方法并执行,无论之前有的还是后来新增的,方便扩展。

并且提高了代码的扩展性,前期定义的代码可以使用后期的内容,就是后期有父类或接口被子类继承,实现后只要方法参数类型是父类的,都可以使用。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 多态2.1 多态概述多态是继封装、继承之后,面向对象的第三大特性。现实事物经常会体现出多种形态,如学生,学...
    葡小萄家的猫阅读 3,275评论 1 6
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,733评论 0 11
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,639评论 4 12
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,126评论 0 4
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 1,283评论 0 2