<?php
// 多态的简单形式
// 定义一个抽象类和抽象方法
abstract class Tiger{
public abstract function climb();
}
// 定义两个子类和方法
class XTiger extends Tiger{
public function climb(){
echo '西伯利亚虎';
}
}
class MTiger extends Tiger{
public function climb(){
echo '孟加拉虎';
}
}
// 定义一个客户端,用于访问服务器端的子类
class Client{
static public function call($animal){
$animal->climb();
}
}
Client::call(new XTiger());
// 总结
// 服务器端定义一个抽象类作为父类,用于统一管理子类继承方法
// 服务器端定义子类和子类方法均继承自抽象父类
// 定义一个客户端类和方法,用于访问服务端的子类中的方法
// 客户端的方法中的参数是一个类对象,调用客户端方法时,直接new一个服务端的对象作为参数传入
?>