源码家族
当前位置:首页 > 资讯中心

资讯中心

【 PHP 抽象方法 】

发布时间:2021-09-23 10:05:42 阅读次数:163

定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,
那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),
不能定义其具体的功能实现。
继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;
另外,这些方法的访问控制必须和父类中一样(或者更为宽松)。
例如某个抽象方法被声明为受保护的,那么子类中实现的方法就应该声明为受保护的或者公有的,
而不能定义为私有的。此外方法的调用方式必须匹配,即类型和所需参数数量必须一致。
例如,子类定义了一个可选参数,而父类抽象方法的声明里没有,则两者的声明并无冲突。

代码示例

<?phpabstract class AbstractCar{    /**     * 定义一个车的抽象     * 车不是具体的车,车有三轮车,四轮车,还有两轮车,     * 但是都有的特点就是都能坐人,都能跑,都有颜色等等     * 所以不是具体的是抽象的,     * 玩具车也是同理不过玩具车做的只能是小人     */    public function getColor()    {        print_r($this->color());    }    abstract public function color(); }# 自行车 继承抽象类 车class Bicycle extends AbstractCar{    public function color()    {        return 'black';    } }# 拖拉机 继承抽象类 车class  Tractors extends AbstractCar{    public function color()    {        return 'red';    } }# 实例化自行车$bicycle = new Bicycle(); print_r($bicycle->getColor());# 输出black# 实例化汽车$tractors = new Tractors(); print_r($tractors->getColor());# 输出red

上一篇:Go语言排序
下一篇:帮助你了解cookie与session