一、什么是多态?
事物的多种表现形态。例如:猫是一种动物;猫是猫。
二、为什么使用多态?
提高代码的延展性和维护性。
三、多态使用的前提条件是什么?
1、要有继承或是接口实现的关系;
2、要有方法重写;
3、要有父类引用指向子类对象
四、多态的成员访问具有什么特点?
成员变量:编译依赖父类、运行依赖父类;
成员方法:编译依赖父类、运行依赖子类
五、什么时候使用多态?
方法的参数位置、如意号返回值的位置可以使用多态,以提高代码的延展性。
六、合法范例
1、创建3个类:动物类、猫类、狗类
(1)动物类中创建年龄变量,并赋值为2,再创建一个eat成员方法和shout方法
(2)猫类中创建年龄变量,并赋值为5;重写eat方法和shout方法
(3)狗类重写eat方法和shout方法
(4)编写测试类,
输出成员变量age:
输出了父类animal的2岁;
输出成员方法eat:输出了子类cat的内容;
成员变量:编译依赖父类、运行依赖父类;
成员方法:编译依赖父类、运行依赖子类
注意:创建对象的方法。
(5)编写测试类,创建可以访问子类成员方法的方法
上图所示:运用一般方法测试可以看到,要为每个类都设置一个方法才可以使用。
对比下图多态:只需要设置一个方法就可以运用到所有的子类当中。这里要注意方法参数的设置,以及调用方法的形式。