ホームページ >バックエンド開発 >PHPチュートリアル >phpアクセス制御(パブリック・プロテクト・プライベート)

phpアクセス制御(パブリック・プロテクト・プライベート)

WBOY
WBOYオリジナル
2016-08-08 09:19:151169ブラウズ

PHP の属性またはメソッドのアクセス制御は、public-modified クラスのメンバーはどこからでもアクセスでき、private-modified クラスのメンバーは自分自身でのみアクセスでき、protected 変更されたクラスのメンバーは、先頭に public private protected などのキーワードを追加することで実現されます。それ自体またはそのサブクラスからアクセスできます。

<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 までご連絡ください。