【PHP】下らねぇ質問 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
149:nobodyさん 08/02/29 10:50:21 >>148 だめー 大体にしてメソッド名をobjにするなややこしい。 コンストラクタかと思うじゃねーか。 そもそもそういう理解の仕方じゃまずいぞ。 privateなメソッドというのは「class hoge{}の外からのアクセスは完全にNG」て意味。 中からなら$this->やObject::obj()でアクセス可能って意味だ。外から$thisなんてことはできないので$obj->objかObject::objを使うことになるけど、 それらのアクセスはprivateじゃ無理よってこと。 protectedは継承したクラスもアクセス可能という意味。だから、class fuga extends hoge{}はhogeのprotectedなメソッドを $thisとかObject::objで扱うことができるってこった。だが当然インスタンス生成してのアクセスである$obj->objは不可能だし、 外部からのObject::objも不可能。 publicは外からのアクセスもできる。$thisだろうとObject::objだろうとOKだ。 staticは上記3つとは別な概念。上記3つは同時に存在できないが、こちらはpublic staticのように併存OKだ。 staticなメソッドは、「外部からそのクラスのインスタンス生成なしで呼び出すことのできるメソッド」 と言う意味。でも重要なのは「staticと指定したメソッドは、そのクラスのstaticでないプロパティや メソッドを呼び出せない」ってこと。staticでないメソッドやプロパティを呼び出してるメソッドにstaticを設定すると エラーが出るはず。staticなメソッドはぶっちゃけて言うと一般の関数と変わらない使い方ができる。 PHPみたいなゆるい言語においては微妙な存在ってこった。ただ、「こういう処理をする関数はここにまとめておこう」みたいなときに 使ったりするね。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5386日前に更新/145 KB
担当:undef