前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP 面向对象 抽象类

PHP 面向对象 抽象类

作者头像
康怀帅
发布2018-02-28 15:22:54
7240
发布2018-02-28 15:22:54
举报
文章被收录于专栏:康怀帅的专栏康怀帅的专栏

使用 abstract 关键字申明抽象类和抽象方法。抽象类不能被实例化,只能被其他类继承。

代码语言:javascript
复制
abstract class A
{
    // 抽象方法没有函数体,即具体实现

    abstract protected function fun1();

    abstract protected function fun2($num);

    // 普通方法,即非抽象方法

    public function fun3()
    {
        echo __FUNCTION__;
    }
}

class B extends A
{
    // 子类必须定义抽象类中的所有抽象方法

    public function fun1()
    {
        echo __FUNCTION__;
    }

    // 子类方法的访问控制,必须和抽象类中方法的访问控制一致,或更为宽松

    // 参数必须一致,但子类可以定义父类方法中不存在的可选参数

    public function fun2($num, $num2='0')
    {
        echo $num;
    }
}

// 抽象类不能被实例化

$b=new B();

$b->fun2(1);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档