多态概念
1
1
1.多态是继封装、继承之后,面向对象的第三大特性
2
2
2.现实事物经常出现多种形态,例如学生是人的一种,则一个具体的学生张三既是学生也是人,即出现两种形态,Java作为面向对象的语言同样可以描绘一个事物的多种形态,例如
S
t
u
d
n
t
Studnt
Studnt类继承了
P
e
r
s
o
n
Person
Person类,一个
S
t
u
d
e
n
t
Student
Student的对象既是
S
t
u
d
e
n
t
Student
Student又是
P
e
r
s
o
n
Person
Person
3
3
3.多态体现为父类引用变量可以指向子类对象
4
4
4.前提条件:必须有父类关系
5
5
5.多态的定义与使用格式
定义格式: 父类类型 变量名
=
=
=new 子类型()
6
6
6.理解:
多态是同一个行为具有多个不同表现形式或者形态的能力
多态就是同一个接口,使用不同的实例而执行不同的操作
多态的优点
1.消除类型之间的耦合关系
2.可替换性
3.可扩充性
4.接口性
5.灵活性
6.简化性
多态的弊端
多态后不能使用子类特有的属性和方法,使用后会造成报错
多态存在的三个必要条件
1
1
1.继承
2
2
2.重写
3
3
3.父类引用指向子类对象
多态的实现方式
1
1
1.重写实现,即将一个方法在不同类内以不同的方式实现不同的功能
2
2
2.接口实现:接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力