1.2 多态
多态:多种形态。
多态分为两种:方法重写和方法重载
1.2.1 方法重写
子类重写了父类的同名的方法
<?php
//父类
class Person {
public function show() {
echo '这是父类<br>';
}
}
//子类
class Student extends Person {
//子类重写了父类的同名方法
public function show() {
echo '这是子类<br>';
}
}
//测试
$stu=new Student;
$stu->show(); //这是子类
注意事项:
- 子类的方法必须和父类的方法同名
- 参数个数要一致
- 子类修饰的不能比父类更加严格
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6b7jtEns-1585288157486)(images/1560736886382.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8zUVqPm6-1585288157490)(images/1560737021928.png)]
1.2.2 方法重载
在同一个类中,有多个同名的函数,通过参数的不同来区分不同的方法,称为方法重载
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g2IvGL8K-1585288157493)(images/1560738378096.png)]
注意:PHP不支持方法重载,但是PHP可以通过其他方法来模拟方法重载。