PHP–多态
对于多态的理解
对象实例的不同表现,使用一个抽象类,抽象方法来实现。如下:
<?php
//众所周知 抽象类只允许声明不允许实现(new)
//抽象方法同样,并没有方法体
//类继承抽象类必须要对抽象方法重写即 去掉 abstract 并且带有方法体
abstract class Father{ //抽象类
public abstract function answer(); //抽象方法
}
//继承类Father
class Sonone extends Father {
public function answer(){
echo '老大知道了';
}
}
//继承类Father
class Songtwo extends Father{
public function answer()
{
echo '老二知道了';
}
}
//通过new Mother类
class Mother{
public static function callToEat($people){
$people->answer();
}
}
// 某种对象实例的不同表现; new one 的时候 会出现 小儿子 new two的时候会出现大儿子
$mother = new Mother();
$mother::callToEat(new Sonone()); //输出 老大知道了
$mother::callToEat(new Songtwo()); //输出 老二知道了
class Nephew {
public function answer(){
echo '外甥';
}
}
$mother::callToEat(new Nephew());//输出 外甥
希望能对有需求的人有帮助🤭