日期:2014-05-17  浏览次数:20437 次

php指定参数类型
	public function execute(PwThreadDataSource $ds) {
$this->_ds = $ds;


都说php声明变量的时候不要指明类型,那这个参数为什么指明了为 PwThreadDataSource类型?而且这是个抽象类,抽象类不是不能声明对象的吗?没搞懂,难道多态?
abstract class PwThreadDataSource {

protected $urlArgs = array();

/**
 * 获取帖子统计数
 *
 * @return int
 */
abstract public function getTotal();

/**
 * 获取帖子
 *
 * @param int $limit 获取条目
 * @param int $offset 帖子起始偏移量
 * @return array
 */
abstract public function getData($limit, $offset);

------解决方案--------------------
execute(PwThreadDataSource $ds)
这个 $ds 是形参,这个声明只是为了约定调用者能传入PwThreadDataSource类或其子类的对象,以供函数内代码调用。
这样做也是为了协调编码,至少我不用看注释或代码,就知道该传个怎样的参数进去。