【PHP设计模式 01_DuoTai.php】多态的说明

<?php 
/**
 * 【多态】
 * 定义一个抽象类:Tiger,有两个子类:XTiger 和 MTiger
 */

header("Content-type: text/html; charset=utf-8");

/*父类*/
abstract class Tiger{
    public abstract function climb();
}

/*两个子类,继承父类*/
class XTiger extends Tiger{
    public function climb(){
        echo '摔下来<br>';
    }
}
class MTiger extends Tiger{
    public function climb(){
        echo '爬到树顶<br>';
    }
}

/*调用类*/
class Client{
    public static function call($animal){
        $animal->climb();
    }
}

Client::call(new XTiger()); //输出:“摔下来”
Client::call(new MTiger()); //输出:“爬到树顶”

//----------------------------------------------------

class Cat{
    public function climb(){
        echo '飞到天上';
    }
}
Client::call(new Cat()); //输出:“飞到天上”
原文地址:https://www.cnblogs.com/rxbook/p/6002943.html