Do You PHP?    
Search Engine Optimization  php5 powerd  Valid XHTML 1.0!  Valid CSS!  このサイトのはてなブックマーク数 



last updated
2004/10/09

counter hits
since 1999/11/06


PHP5を試してみる - Private/Protectedなメソッド

memoサンプルは、EXPERIENCEで実際に確認できるようにしてますので、気になる方は見てみてください。

PHP4までのクラスは全てpublic扱い(外部関数・クラスから呼出可能)でしたが、メンバー変数と同様、PHP5からJavaのようなprivate・protectedといった修飾子が使えるようになります。

●02.PrivateAndProtectedMethods.php5

<?php
class Foo {
    private function aPrivateMethod() {
        echo "Foo::aPrivateMethod() called.\n";
    }

    protected function aProtectedMethod() {
        echo "Foo::aProtectedMethod() called.\n";
        $this->aPrivateMethod();
    }
}

class Bar extends Foo {
    public function aPublicMethod() {
        echo "Bar::aPublicMethod() called.\n";
        $this->aProtectedMethod();
    }
}

$o = new Bar;
echo "<pre>";
/**
* 「Fatal error:  Call to private method foo::aPrivateMethod() ...」
* となる
*/
//$o->aPrivateMethod();

/**
* 「Fatal error:  Call to protected method foo::aProtectedMethod() ...」
* となる
*/
//$o->aProtectedMethod();

$o->aPublicMethod();
echo "</pre>";
?>
<hr>
<?php
    show_source($_SERVER["SCRIPT_FILENAME"]);
?>



About This Site |  Privacy Policy |  Contact
Copyright © 1999 - 2004 by Hideyuki SHIMOOKA all rights reserved.