面向对象多态

Posted zhuhuibiao

tags:

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

1.多态:

    定义:同一父类的不同子类,在处理同一行为时,有不同的表现。就是

多态。

    学习多态的原因?

         提高代码的可扩展性和可维护性。

  
2.实现多态的步骤:

     A.父子类继承

     B.子类重写父类方法:

     C.调用时,声明父类 new 子类。

 
3."声明父类 new 子类" 介绍:

   1.创建父类引用,指向子类对象。


      A.该对象,可以直接使用父类的所有属性和【方法】;但是子类特有属

性和方法,却无可奈何?

      B.如果子类没有重写父类的方法,那么该对象调用的是父类的方法。

      C.如果子类重写了父类中的方法,那么该对象调用的是子类重写后的

方法。


4.多态的表现形式分为两种:

    A。父类做参数:


    B。父类做返回值类型:
 

5.类型转换:

    解决 :声明父类new 子类 ,创建出来的对象,不能调用子类特有属性

和方法的问题。


    A。向上转型:声明父类new 子类

                1.调用父类里的属性和方法

                2.调用子类重写的方法

                3.不能调子类特有的属性和方法


    B。向下转型: 子类类型  对象名1=(子类类型) 对象名2。

                  ---说明:对象名2是通过“声明父类new子类”得到的

对象。

                  ---存在隐患,如果子类类型转换错误,程序直接报错。

                  ---转换成功后,就可以调用子类特有的方法和属性了。


6.instanceof  关系运行符。

   学习原因?    避免类型转换异常,从而提高代码的健壮性。

注意:1.使用interfaceof运算符时,对象的类型必须和interfaceof的第二

个参数所指定的类或者接口在继承属上有上下级关系,否则会出现编译错误。
 2.interfaceof经常和强制类型转换结合使用。


              
 

 













以上是关于面向对象多态的主要内容,如果未能解决你的问题,请参考以下文章

举例说明java面向对象的封装继承多态

设计模式面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )

JAVA面向对象,继承、封装、多态

python面向对象(封装继承多态)+ 面向对象小栗子

.啥是多态?面向对象程序设计为啥要引入多态的特性?使用多态有啥优点?

0面向对象三大机制 封装继承多态