美文网首页
php 面向对象

php 面向对象

作者: code_nerd | 来源:发表于2017-12-05 09:06 被阅读0次

    访问控制

    public 可在外部调用
    protected 只能在类的内部 或者子类中调用
    prrivate 只能在自身内调用

    子类继续父类中的方法,public 和protected方法。如果子类要重写父类中的方法,则需保持父类访问控制权限,或者更加开放。

    父类为public  则子类只能为public
    父类为protected 则子类可以为protected public
    父类为private 则子类可为 private protected public
    

    如果有魔术方法不想被触发,可以使用protect 或者是private 可以实现魔术方法的触发。
    如 禁止一个类被实例化

    class A{
        protected function __construct()
        {
       }
    }
    //此时,则会报错。
    $a = new A;
    

    魔术方法

    构造函数和析构函数

    __construct 在实例化一个类时触发
    __destruct 在对象被销毁时触发

    重载

    当调用当前环境下未定义或不可见的类属性或方法,会调用的魔术方法

    属性重载

    在给不可访问属性赋值时 __set
    读取不可访问属性的值时 __get
    当对不可访问属性调用isset() 或者empty() __isset
    当对不可访问属性调用unset() __unset

    方法重载

    在对象中调用一个不可访问方法时 __call
    在静态上下文中调用一个不可访问方法时 __callStatic

    其他

    在类被序列化时 __sleep
    在类被反序列化 __wakeup
    一个类被当成字符串 __toString
    当尝试以调用函数的方式调用一个对象时 __invoke
    调用var_export()导出类时,__set_state

    相关文章

      网友评论

          本文标题:php 面向对象

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