PHP-面向对象(多态)

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();			//这是子类

注意事项:

  1. 子类的方法必须和父类的方法同名
  2. 参数个数要一致
  3. 子类修饰的不能比父类更加严格

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6b7jtEns-1585288157486)(images/1560736886382.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8zUVqPm6-1585288157490)(images/1560737021928.png)]

1.2.2 方法重载

在同一个类中,有多个同名的函数,通过参数的不同来区分不同的方法,称为方法重载

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g2IvGL8K-1585288157493)(images/1560738378096.png)]

注意:PHP不支持方法重载,但是PHP可以通过其他方法来模拟方法重载。

发布了1919 篇原创文章 · 获赞 2038 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/weixin_42528266/article/details/105139839
今日推荐