zoukankan      html  css  js  c++  java
  • php-抽象方法

    资料

    php官网抽象类详解
    链接
    • 说明

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

    代码示例

    <?php
    
    abstract 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
    
  • 相关阅读:
    python基础——返回函数
    python基础——sorted()函数
    python基础——filter函数
    python基础——map/reduce
    python基础——高阶函数
    python基础——迭代器
    python——生成器
    轻量级文本编辑器,Notepad最佳替代品:Notepad++
    python网络编程
    如何检测远程主机上的某个端口是否开启?
  • 原文地址:https://www.cnblogs.com/yaoliuyang/p/15237756.html
Copyright © 2011-2022 走看看