>백엔드 개발 >PHP 튜토리얼 >PHP 액세스 제어(공개 보호 비공개)

PHP 액세스 제어(공개 보호 비공개)

WBOY
WBOY원래의
2016-08-08 09:19:151172검색

PHP에서는 public, private protected 등의 키워드를 앞에 추가하여 속성이나 메소드에 대한 접근 제어가 이루어집니다. Public이 수정된 클래스 멤버는 어디서나 액세스할 수 있고, Private이 수정된 클래스 멤버는 Self만 액세스할 수 있습니다. -접근 가능하고 수정된 보호 클래스 멤버는 자체적으로 또는 해당 하위 클래스에서 액세스할 수 있습니다.

<code><span><span><?php</span><span><span>class</span><span>test</span>{</span><span>public</span><span>$public</span>=<span>'public'</span>;
        <span>private</span><span>$private</span>=<span>'private'</span>;
        <span>protected</span><span>$protected</span>=<span>'protected'</span>;

        <span>public</span><span><span>function</span><span>show</span><span>()</span>{</span><span>echo</span><span>$this</span>-><span>private</span>;
        }

        <span>public</span><span><span>function</span><span>show2</span><span>()</span>{</span><span>echo</span><span>$this</span>-><span>protected</span>;
        }
    }
    <span>$test</span>=<span>new</span> test();
    <span>echo</span><span>$test</span>-><span>public</span>;
    <span>$test</span>->show(); 
    <span>$test</span>->show2();
    <span>// exit();</span><span>// echo $test->protected;  //会产生一个致命错误</span><span>// echo $test->private;    //也会产生一个致命错误 private属性只能在定义的类中访问</span><span>/**
    * 
    */</span><span><span>class</span><span>test2</span><span>extends</span><span>test</span>
    {</span><span>//重写父类的show()方法</span><span><span>function</span><span>show</span><span>()</span>{</span><span>//继承自父类的protected</span><span>echo</span><span>$this</span>-><span>protected</span>;
        }
    }

    <span>$test2</span>=<span>new</span> test2();
    <span>echo</span><span>"<hr/>"</span>;
    <span>// $test2->protected; //会产生一个致命错误  protected属性不能在外部访问</span><span>$test2</span>->show();  <span>//能够访问 protected只能被自身或其子类访问</span><span>?></span></span></span></code>

저작권: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.

위 내용은 PHP 접근 제어(공개 보호 비공개)에 대한 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.