私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 89
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>840
class Greeting{
const AT_MORNING = 'おっはー☆';
const AT_DAYTIME = 'こんにちは';
const AT_NIGHT = 'こんばんわー';
const FIRST_MESSAGE = '初めまして';
}
class Love{
const FIRST_MESSAGE = '好きです!';
const END_MESSAGE = 'さようなら…二度と会わないで';
}
echo Greeting::AT_MORNING;
例えば定数の場合、そこまでに通ったコードを全部読んで、定義部を探さないといけない。
クラス定数ならば、格納先のクラスさえ分かれば、そこを探すだけで済む。
勿論、「定数はこのファイルに全部書くこと!」という規則で運用しても同じような効果になるが、「立ち入り禁止」というルールだけ設けるのと柵を作るの、どっちが安全かの差だな。
また、Greeting::AT_MORNINGを読むにはGreetingクラスの存在を知らなければ(requireしなければ)ならない。
つまり、この定数を使っている箇所がどこら辺にあるのか特定しやすい。
あとは、全体から見える位置にものを定義すると、変数名被りや定数名被りが発生しやすい。クラス定数なら、クラスさえ違えば同名になっても問題ない。
class Greeting{
const AT_MORNING = 'おっはー☆';
const AT_DAYTIME = 'こんにちは';
const AT_NIGHT = 'こんばんわー';
const FIRST_MESSAGE = '初めまして';
}
class Love{
const FIRST_MESSAGE = '好きです!';
const END_MESSAGE = 'さようなら…二度と会わないで';
}
echo Greeting::AT_MORNING;
例えば定数の場合、そこまでに通ったコードを全部読んで、定義部を探さないといけない。
クラス定数ならば、格納先のクラスさえ分かれば、そこを探すだけで済む。
勿論、「定数はこのファイルに全部書くこと!」という規則で運用しても同じような効果になるが、「立ち入り禁止」というルールだけ設けるのと柵を作るの、どっちが安全かの差だな。
また、Greeting::AT_MORNINGを読むにはGreetingクラスの存在を知らなければ(requireしなければ)ならない。
つまり、この定数を使っている箇所がどこら辺にあるのか特定しやすい。
あとは、全体から見える位置にものを定義すると、変数名被りや定数名被りが発生しやすい。クラス定数なら、クラスさえ違えば同名になっても問題ない。
return $this->$v
だと そのクラス内($this)の変数$vが持ってる値の変数になっちゃう
return $this->v
がただしい
だと そのクラス内($this)の変数$vが持ってる値の変数になっちゃう
return $this->v
がただしい
>>855へのレスね
857 名前:あぼ~ん[あぼ~ん] 投稿日:あぼ~ん
あぼ~ん
858 名前:あぼ~ん[あぼ~ん] 投稿日:あぼ~ん
あぼ~ん
あぼ~ん
858 名前:あぼ~ん[あぼ~ん] 投稿日:あぼ~ん
あぼ~ん
>856
staticまで知ってればとりあえず問題ない
staticまで知ってればとりあえず問題ない
>>856
「オブジェクト指向の覚え方」(というか学び方)を知りたいんですね?
まずは、
とある言語が「オブジェクト指向的な記述を支援してくれる部分」と、
「オブジェクト指向というもの」自体とを
弁別した方が良いかと。
とある言語で後者を実践するときのものが前者。
そのページで得られるのは、基本的には前者のみ。
OOPそのものへの入門だったら、PHP以外の例えばJavaあたりを使ってOOPの
解説してるとこ覗いた方が良いよ。
それでもその質問に答えるとしたら、上から順番でどこまでってことは無いかな。
>* クラスのオートローディング
↑飛ばしてもいいけど、
>* コンストラクタとデストラクタ
↑飛ばせない
てな感じで。
「オブジェクト指向の覚え方」(というか学び方)を知りたいんですね?
まずは、
とある言語が「オブジェクト指向的な記述を支援してくれる部分」と、
「オブジェクト指向というもの」自体とを
弁別した方が良いかと。
とある言語で後者を実践するときのものが前者。
そのページで得られるのは、基本的には前者のみ。
OOPそのものへの入門だったら、PHP以外の例えばJavaあたりを使ってOOPの
解説してるとこ覗いた方が良いよ。
それでもその質問に答えるとしたら、上から順番でどこまでってことは無いかな。
>* クラスのオートローディング
↑飛ばしてもいいけど、
>* コンストラクタとデストラクタ
↑飛ばせない
てな感じで。
Javaが一通り出来るようになればオブジェクト指向はだいたい理解出来るはず
使いこなすにはまだまだだけど
使いこなすにはまだまだだけど
>>862
理解できてるから使いこなせるわけで。 順序逆だz
理解できてるから使いこなせるわけで。 順序逆だz
PHPみたいな変数に何でも入って、evalもあるような言語に
JavaのOOPを持ち込むのは、混乱の元だろう。
頭固くなるからやめとけ。
初心者はSqueakでもやっとけばいい。
JavaのOOPを持ち込むのは、混乱の元だろう。
頭固くなるからやめとけ。
初心者はSqueakでもやっとけばいい。
済ますも何もSimpleClassではなく別クラスのFooのインスタンスを作ってるように見えるが
インスタンスを生成したいクラスを動的に指定する場合に便利だよ
autoloadしたい時とかFactoryパターンの時とか
autoloadしたい時とかFactoryパターンの時とか
可変変数の一種などではなく可変関数
http://www.php.net/manual/ja/functions.variable-functions.php
http://www.php.net/manual/ja/functions.variable-functions.php
>>866
クラスってのはクッキー生地の型抜き用の型で、
インスタンスはそれで作られた個別のクッキー(生地)。
抜き型だけあってもそれを使わないと(newしないと)食えるクッキーの存在は生成されない。
てな感じでどうだ?
クラスってのはクッキー生地の型抜き用の型で、
インスタンスはそれで作られた個別のクッキー(生地)。
抜き型だけあってもそれを使わないと(newしないと)食えるクッキーの存在は生成されない。
てな感じでどうだ?
>>873
スタティックメソッドは?
スタティックメソッドは?
最初に入れる具を決めて皮を作るか、とりあえず具は後で買ってくると決めて皮を作るかの違い
出来るものはどちらにしても肉まん・あんまん・中華まん。
出来るものはどちらにしても肉まん・あんまん・中華まん。
>868
変数$classNameの値に応じて、生成するインスタンスを変えられる。
class Foo{
function say_name(){
echo 'foo foo foo!';
}
}
class Bar{
function say_name(){
echo 'Bar, bar, BAAAAAR';
}
}
$instance = new $className();
$instance->say_name();
クラスに同じ名前同じ引数のメソッドがあり、その中身のロジックが全然違う場合なんかに使える。
変数$classNameの値に応じて、生成するインスタンスを変えられる。
class Foo{
function say_name(){
echo 'foo foo foo!';
}
}
class Bar{
function say_name(){
echo 'Bar, bar, BAAAAAR';
}
}
$instance = new $className();
$instance->say_name();
クラスに同じ名前同じ引数のメソッドがあり、その中身のロジックが全然違う場合なんかに使える。
classを作っておくのは同じコードを2度も書かないためってことでしょうか?
掲示板を作るとき「ファイル操作・文字列処理」をしますのでそういうのをクラスにまとめることによtt
いろんなスクリプトで再利用できるという認識でよろしいでしょうか?
掲示板を作るとき「ファイル操作・文字列処理」をしますのでそういうのをクラスにまとめることによtt
いろんなスクリプトで再利用できるという認識でよろしいでしょうか?
クラスは何つーか、製作ツール作る感じじゃね?
RPGツクールとかそんな感じで
逆にfunctionなどの関数はそのまま関数作ったり
RPGツクールの中の、敵にダメージを与える計算部分とか
RPGツクールとかそんな感じで
逆にfunctionなどの関数はそのまま関数作ったり
RPGツクールの中の、敵にダメージを与える計算部分とか
学校にもAクラス、Bクラスってあるだろう。
それと同じ意味だよ。
A組 が 廊下掃除担当
B組 が 体育館掃除担当
C組 が プール掃除担当
という感じにクラス毎に役割を振っておけば、
後々管理が楽になるだろう?
「廊下に関する事なら、A組に聞けばいい。」
ってな具合で。
それと同じ意味だよ。
A組 が 廊下掃除担当
B組 が 体育館掃除担当
C組 が プール掃除担当
という感じにクラス毎に役割を振っておけば、
後々管理が楽になるだろう?
「廊下に関する事なら、A組に聞けばいい。」
ってな具合で。
関数とオブジェクトのローカル変数をセットにしておける。
継承が使える。
これだろ。
継承が使える。
これだろ。
無駄に難しく考えないで、自分のレベルで便利に使えるところから使えばいいんだよ。
クラスつかうなんてのは、手段であって、目的ではないからな。
クラスつかうなんてのは、手段であって、目的ではないからな。
同じく、システムの中である程度一貫性持ってれば扱い方は人によって個性出てもいいと思う
OOP本のサンプルって、
Animalクラスを継承してDogクラスとかCatクラスを作るって例が多いけど、
わかりやすいようで解りづらいよなw
Animalクラスを継承してDogクラスとかCatクラスを作るって例が多いけど、
わかりやすいようで解りづらいよなw
最初は関数で作って、後々追加案件で処理毎にクラス化してる
配列でまとめてあると、後で弄り易い。
配列でまとめてあると、後で弄り易い。
>>893
そういう概念の話は腐るほど聞いても、じゃあいざ実装しようとすると
あれどれがDogでAnimalなんだっけ、いやそもそもクラスにする必要あるのかこれ?
と思考の海に沈む
まっとうなOOP本読めばいいんだろうけど
そういう概念の話は腐るほど聞いても、じゃあいざ実装しようとすると
あれどれがDogでAnimalなんだっけ、いやそもそもクラスにする必要あるのかこれ?
と思考の海に沈む
まっとうなOOP本読めばいいんだろうけど
同じような方向の質問になるけど
PEARとかでよくファクトリークラス(?)を使って
クラスからクラスを作ってたりするけど、
あれってどういう理由があるの?
PEARとかでよくファクトリークラス(?)を使って
クラスからクラスを作ってたりするけど、
あれってどういう理由があるの?
俺の好みで言うと、コーディング時に種類が決まってるパーツは
new classNameで明示的にインスタンス化したいな。
パラメータ指定してインスタンス作ってからaddとかするように
書くだろうな。
ま、好みの話だからさらっと流してくれ。
new classNameで明示的にインスタンス化したいな。
パラメータ指定してインスタンス作ってからaddとかするように
書くだろうな。
ま、好みの話だからさらっと流してくれ。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 80 (1001) - [98%] - 2009/2/18 6:30 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 85 (1001) - [98%] - 2009/7/31 4:07 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 79 (1001) - [98%] - 2009/2/1 0:33 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 81 (1001) - [98%] - 2009/3/7 14:17 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 83 (1001) - [98%] - 2009/4/27 3:17 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 84 (1001) - [98%] - 2009/6/15 21:04 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 82 (1001) - [98%] - 2009/4/6 19:33
- 【PHP】下らねぇ質問はID出して書き込みやがれ 88 (1001) - [98%] - 2009/10/12 1:52
- 【PHP】下らねぇ質問はID出して書き込みやがれ 86 (579) - [98%] - 2009/8/19 4:44
- 【PHP】下らねぇ質問はID出して書き込みやがれ 87 (1001) - [98%] - 2009/9/15 18:32
- 【PHP】下らねぇ質問はID出して書き込みやがれ 99 (1001) - [98%] - 2010/10/27 4:51
- 【PHP】下らねぇ質問はID出して書き込みやがれ 119 (1001) - [96%] - 2012/6/21 11:46
- 【PHP】下らねぇ質問はID出して書き込みやがれ 139 (994) - [96%] - 2015/7/25 21:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 129 (1001) - [96%] - 2013/9/18 1:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 109 (1001) - [96%] - 2011/8/30 2:02
- 【PHP】下らねぇ質問はID出して書き込みやがれ 74 (1001) - [96%] - 2008/10/16 6:05
- 【PHP】下らねぇ質問はID出して書き込みやがれ 75 (1001) - [96%] - 2008/11/13 21:31 ○
トップメニューへ / →のくす牧場書庫について