<?php 
/**PHP的多态
某种对象实例的不同表现形态。
父类引用指向子类对象,然后调用父类方法,去执行子类覆盖父类的那个方法。
*/
abstract class Fruit{
    public abstract function cut();
}

class Banana extends Fruit{
    public function cut(){
        echo '好恶心';
    }
}


class Apple extends Fruit{
    public function cut(){
        echo '切成一块一块的';
    }
}


class Knife{
    public static function tool(Fruit $ft){
        $ft->cut();
    }
}

Knife::tool(new Banana());
echo '<br>';
Knife::tool(new Apple());

?>