• private、protected、public


     
    private     
    protected       
    public
    本类内     
    Y Y Y
    子类内     
    N Y Y
    外部       
    N N N
    <?php
    class MyClass
    {
    public $public = 'Public';
    protected $protected = 'Protected';
    private $private = 'Private';

    function printHello()
    {
    echo $this->public;
    echo $this->protected;
    echo $this->private;
    }
    }
    $obj = new MyClass();
    echo $obj->public; // 这行能被正常执行
    echo $obj->protected; // 这行会产生一个致命错误
    echo $obj->private; // 这行也会产生一个致命错误
    $obj->printHello(); // 输出 Public、Protected 和 Private

    class MyClass2 extends MyClass
    {
    // 可以对 public 和 protected 进行重定义,但 private 而不能
    // protected $protected = 'Protected2';

    function printHello()
    {
    echo $this->public;
    echo $this->protected;
    echo $this->private;
    }
    }


    $obj2 = new MyClass2();
    echo $obj2->public; // 这行能被正常执行
    echo $obj2->private; // 未定义 private
    echo $obj2->protected; // 这行会产生一个致命错误
    $obj2->printHello(); // 输出 Public、Protected 和 Undefined

    ?>
  • 相关阅读:
    数组review
    算法复杂度分析
    利用栈判断括号是否匹配(Parentheses)
    java实现stack和queue
    路由器结构
    层次化路由简介
    es 嵌套对象和父子文档对比
    远心镜头的远心度
    Delphi编程细节汇总
    halcon深度学习总结(二)
  • 原文地址:https://www.cnblogs.com/huixuexidezhu/p/7224042.html
Copyright © 2020-2023  润新知