• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP抽象类基本用法示例

    本文实例讲述了PHP抽象类基本用法。分享给大家供大家参考,具体如下:

    ?php
    //抽象类像一个模板,供子类扩展(重写),抽象类里有普通方法(有方法体),也有抽象方法,其中抽象方法没有方法体,且以分号结束。
    //只要有一个抽象方法,那么此类必须定义为抽象类。
    //抽象类不能创建自己的实例,在试图创建抽象类对象时,会产生一个致使错误。
    //在子类里实现抽象类的方法,并且可见性要等于、高于抽象方法的可见性,抽象类(public|protected|private),子类(public|public,protected|有致命错误,且不能被继承)。
    //抽象类不能定义私有方法,可以定义私有属性。
    //如果子类没有扩展(重写)抽象类的抽象方法,会产生致使错误。
    abstract class Employees{
      protected $name = null;
      function __construct($nameStr){
        $this->name = $nameStr;
      }
      abstract public function work();
      public function work1(){
        echo "p>$this->name/p>";
      }
      //function __destruct(){}
    }
    class Managers extends Employees{
      public function __construct($nameStr){
        parent::__construct($nameStr);
      }
      /*public function work(){//如果子类没有扩展(重写)抽象类的抽象方法,会产生致使错误。
        echo "p>$this->name is working/p>";
      }*/
    }
    //$obj1 = new Employees();//创建抽象类对象时,会产生一个致使错误。
    $obj2 = new Managers('e2');
    //$obj2->work();
    
    

    运行上述代码,会提示如下错误信息:

    Fatal error: Class Managers contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Employees::work) in D:\phproot\test\ClassDemo.php on line 26

    将错误提示位置及末尾位置代码注释删除后,改为如下代码:

    ?php
    //抽象类像一个模板,供子类扩展(重写),抽象类里有普通方法(有方法体),也有抽象方法,其中抽象方法没有方法体,且以分号结束。
    //只要有一个抽象方法,那么此类必须定义为抽象类。
    //抽象类不能创建自己的实例,在试图创建抽象类对象时,会产生一个致使错误。
    //在子类里实现抽象类的方法,并且可见性要等于、高于抽象方法的可见性,抽象类(public|protected|private),子类(public|public,protected|有致命错误,且不能被继承)。
    //抽象类不能定义私有方法,可以定义私有属性。
    //如果子类没有扩展(重写)抽象类的抽象方法,会产生致使错误。
    abstract class Employees{
      protected $name = null;
      function __construct($nameStr){
        $this->name = $nameStr;
      }
      abstract public function work();
      public function work1(){
        echo "p>$this->name/p>";
      }
      //function __destruct(){}
    }
    class Managers extends Employees{
      public function __construct($nameStr){
        parent::__construct($nameStr);
      }
      public function work(){//如果子类没有扩展(重写)抽象类的抽象方法,会产生致使错误。
        echo "p>$this->name is working/p>";
      }
    }
    //$obj1 = new Employees();//创建抽象类对象时,会产生一个致使错误。
    $obj2 = new Managers('e2');
    $obj2->work();
    
    

    测试运行结果:

    e2 is working

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • php 接口类与抽象类的实际作用
    • php接口和抽象类使用示例详解
    • PHP中抽象类、接口的区别与选择分析
    • PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
    • PHP中抽象类和抽象方法概念与用法分析
    • 通过具体程序来理解PHP里面的抽象类
    • PHP 抽象方法与抽象类abstract关键字介绍及应用
    • PHP abstract 抽象类定义与用法示例
    • 浅析php中抽象类和接口的概念以及区别
    上一篇:PDO::errorInfo讲解
    下一篇:PHP面向对象程序设计继承用法简单示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP抽象类基本用法示例 PHP,抽象,类,基本,用法,示例,