美文网首页扣丁学堂PHP培训
扣丁学堂PHP培训分享PHP的抽象类基本用法有哪些

扣丁学堂PHP培训分享PHP的抽象类基本用法有哪些

作者: 994d14631d16 | 来源:发表于2019-03-13 15:10 被阅读0次

      如今学习PHP开发技术的人有不少,大家选择的学习方式不同,但是最终的目的都是想要成为一名合格的PHP开发工程师,本篇文章扣丁学堂PHP培训小编主要是和大家分享一下PHP开发的技能:PHP抽象类基本用法。本篇文章主要结合实例形式分析PHP抽象类的概念、原理、定义、使用方法及相关操作注意事项,文中有详细的代码列出,希望对小伙伴们有所帮助。

    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培训官网、微信等平台,扣丁学堂IT职业在线学习教育平有专业的PHP讲师为您指导,此外扣丁学堂老师精心推出的PHP视频教程定能让你快速掌握PHP从入门到精通开发实战技能。

    相关文章

      网友评论

        本文标题:扣丁学堂PHP培训分享PHP的抽象类基本用法有哪些

        本文链接:https://www.haomeiwen.com/subject/hwxtmqtx.html