PHP publicとかprivateとかの修飾子

PHP5から使えるprivateやprotectedとかの修飾子について。


public

メンバ変数・メンバメソッドに指定できる。
どこからでもアクセスできる。


private

メンバ変数・メンバメソッドに指定できる。
そのクラス内からしかアクセスできない。


protected

メンバ変数・メンバメソッドに指定できる。
そのクラスかサブクラスからしかアクセスできない。


static

メンバ変数・メンバメソッドに指定できる。
インスタンス化していないクラスでも関係なくアクセスできる。
static宣言したメンバ変数はインスタンス化されたクラスオブジェクトからはアクセスできない。


final

クラスとメンバメソッドに指定できる。
クラスに指定した場合は、このクラスを拡張することができなくなる。
メソッドに指定した場合は、サブクラスからオーバーライドできなくなる。


abstract

クラスとメンバメソッドに指定できる。
抽象クラスや抽象メソッドとなる。
メソッドに指定した場合は、そのクラスではメソッドの実装を定義することはできない。必ずサブクラスで実装する。
長くなりそうなので、コチラの『PHP:クラスの抽象化』をどうぞ・・・


番外編


__construct

コンストラクタメソッドとして使用できる。


__destruct

デストラクタメソッドとして使用できる。


PHP publicとかprivateとかの修飾子” への1件のコメント

  1. ピンバック: CakePHP コントローラーのメソッドを『private』や『protected』にする方法 | Yasigani-ni Blog