• 技术文章 >后端开发 >PHP问题

    php中的抽象类是什么?怎么用?

    VV2019-09-05 15:00:27转载1311

    抽象类:一个类中至少有一个方法是抽象的,我们称之为抽象类。

    要求

    1、一个类中至少有一个抽象方法

    2、抽象方法不允许有{}

    3、抽象方法前面必须加abstract

    例:类前面加abstract

    <?php 
        abstract class Human {
            public abstract function getInfo () {
                echo '我是getInfo';
            }
        }
    ?>

    定义了一个Human的抽象类,抽象类中有个抽象方法,执行发现报错

    Fatal error: Abstract function Human::getInfo() cannot contain body

    抽象方法不能有正文部分(没有方法体),需要去掉花括号

    <?php 
        abstract class Human {
            public abstract function getUserInfo ();
            public abstract function getWalletInfo ();
        }
        
        class Student extends Human {
            public function getUserInfo () {
                echo 'getinfo';
            }
            
            public function getWalletInfo () {
                echo 'getwalletInfo';
            }
        }
        
        $Tom = new Student();
        $Tom -> getUserInfo();
        $Tom -> getWalletInfo ();
    ?>

    注意

    1、抽象类不能被实例化,只能被继承。
    2、继承的派生类当中要把所有抽象方法重载才能实例化

    abstract class Human {
        public abstract function getUserInfo ();
        public abstract function getWalletInfo ();
    }
    
    class Student extends Human {
        public function getUserInfo () {
            echo 'getinfo';
        }
        
        // public function getWalletInfo () {
        //     echo 'getwalletInfo';
        // }
    }
    
    $Tom = new Student();

    比如此时派生类种少写了一个getWalletInfo() 方法,就导致new 失败

    抽象类的意义:派生类继承抽象类的时候,必须要用抽象类的命名规则去建立方法,否则不允许派生类实例化,其实是申明了一种规范,达到规范方法的目的。

    想了解更多相关内容请访问php中文网:PHP视频教程

    以上就是php中的抽象类是什么?怎么用?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:php 抽象类
    上一篇:php中$_post什么意思 下一篇:php中print_r什么意思
    大前端线上培训班

    相关文章推荐

    • php中的抽象方法和抽象类详解• 如何理解PHP中抽象类和抽象方法?(附代码)• PHP中抽象方法以及抽象类与接口的简单介绍• php抽象类的作用是什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网