用多态思想实现一个资料搜集过程

人可以搜集资料, 机器也可以搜集资料, 共同方法都得启动搜集,进行搜集(搜集中),搜集完成,世界可以使用一个对象,这个对象出现后,可以进行对应的搜集工作。我要先从世界中创建一个搜集任务, 然后再去创建一个人或者一台机器,再然后把人或者机器加入到世界中的信息搜集过程。

<?php

interface FileData
{
    function StartCollect();
    function Collecting();
    function CollectComp();
}
class HumanCollect implements FileData
{
    function StartCollect()
    {
        echo "启动搜集任务";
    }
    function Collecting()
    {
        echo "人正在搜集资料";
    }
    function CollectComp()
    {
        echo "搜集完成";
    }
}
class MachCollect implements FileData
{
     
    function StartCollect()
    {
        echo "启动搜集任务";
    }
    function Collecting()
    {
        echo "机器正在搜集资料";
    }
    function CollectComp()
    {
        echo "搜集完成";
    }

}
class Space
{
    function useObject($obj)
    {
        $obj->StartCollect();
        $obj->Collecting();
        $obj->CollectComp();
    }
}
class CollWorker
{
    function startup()
    {
       $sj = new Space;
       $human = new HumanCollect;
       $machine = new MachCollect;
       $sj->useObject($human);
       $sj->useObject($machine);
    }
}

$search = new CollWorker;
$search->startup();