Webでオブジェクト指向プログラミング (442レス)
上下前次1-新
187: 2006/03/31(金)23:55 ID:??? AAS
その質問は意味があるんですか?
188(2): 174 2006/03/32(土)00:32 ID:??? AAS
>>181
>>174 で晒したソースは、
PHPでの実用的な継承 (っていうか、別に普通だけど) の例でもあると個人的に思うのですが、
これだけだと伝わりませんでしたか?
189(1): 2006/03/32(土)16:53 ID:??? AAS
この流れじゃあ
「オブジェクト指向意味ワカランから本買うけど何がいい?」
なんて厨な質問できねーYO!
190(1): 2006/03/32(土)17:09 ID:??? AAS
>>174
いや、そんな自己満コード晒してもらっても
191: 2006/03/32(土)20:29 ID:??? AAS
>>189
ぱっと思いつくのは
憂鬱なプログラマのためのオブジェクト指向開発講座―C++による実践的ソフトウェア構築入門とか
>>188
OO分かってない奴にいきなりコードを見せても
チンプンカンプンだと思う
192: 2006/03/32(土)21:37 ID:??? AAS
>>127
だから重複してるからイランと
193(1): 2006/03/32(土)21:39 ID:??? AAS
>>128
JavaやC++のように大規模開発でも使う場面が
多い言語ではprivateは重宝するよ。
なにせprivateをうまく使うとデバッグがしやすいしバグもとりやすく
テストもしやすくソースコードの信頼性も上がる。
194: 2006/03/32(土)21:42 ID:??? AAS
>>137
PHP使えるレンタル鯖が多いからだろ。
Ruby使える鯖は少ないし
Rubyというだけで日本人が作った言語だから
ショボイと思われがてで不キュしていなかったと思われる。
195: 2006/03/32(土)21:43 ID:??? AAS
>>143
この本を読めばクラスの使い方がわかるようになるよ。
超お勧め。
Amazon.co.jp:アジャイルソフトウェア開発の奥義: 本
外部リンク:www.amazon.co.jp
196: 2006/03/32(土)21:45 ID:??? AAS
>>156
おれはよく継承を使いまくってる。
将来拡張する予定があるものは
かならず(空でもいいので)スーパークラスを作って
継承してつかっている。
継承は使い方を間違えたり勘違いしている人間が使うと
継承=拡張そのものだと
誤解してだたやみくもに継承しまくることがあるので、
継承を使いこなしたければ
デザインパターンについてよく勉強した方が良い。
197: 2006/03/32(土)21:47 ID:??? AAS
>>160
> ・関数がいい人は関数でやればいい
> ・クラスがいい人はクラスでやればいい
> ↑ここまではおk。それじゃ、
> ・クラスがいい人は何のためにクラス使ってるの?しかもPHPでw ←いまここ
大規模化する可能性のあるソフトをPHPで作るとき。
顧客がPHPを使えと言ってきたら
PHPを使わざるを得ない。けれどもオブジェクト指向を
使わないで開発すると一体どんなとんでもない目に
あうのか散々味わってきたので
漏れはかならずオブジェクト指向でPHPコードを書く。
198(1): 2006/03/32(土)21:49 ID:??? AAS
継承 = inheritance
拡張 = extends
なんだよな・・・・
199(3): 2006/03/32(土)21:50 ID:??? AAS
>>163
それに関してはPHPでもJavaでも同じように実現できている。
PHPで問題なのは名前空間と型安全性問題。
メソッド引数に型指定もクラスしか使えないこと。
integer型やstring型などをメソッド引数に指定できないのが
今のPHP5の難点。Javaでいえば引数の型をObjectにしているようなものだ。
Perlでも同様だが。
200(1): 2006/03/32(土)21:52 ID:??? AAS
>>171
PHP5はどうみてもJavaのパクリとしか
思えないほど十分にオブジェクト指向できるような
言語となった。問題なのは上でも述べているとおり
名前空間と型指定の曖昧さ、ほかに戻り値の型を指定できないことだね。
201(1): 2006/03/32(土)21:57 ID:??? AAS
>>199
PHP6もgoto付けるとか言ってないで
そのへん整備すりゃいいのにな
202: 2006/03/32(土)21:59 ID:??? AAS
>>174-175
そんなに汚くないコードだけど
ちょっと抵抗があるソースコードだな。
クラス名が全部小文字で
名前空間の替わりの役割を果たしているわけでもないのに
区切り文字に_(アンダースコア)つかうという
表記を未だに使っているとは・・・・。
やっまりキャメルケース(CamelCase)がわかりやすいと思うのだが。
それから一ファイルにつき一クラスにしておくのがベスト。
一つのファイルに複数のクラスを入れておくことはお勧めしない。
ファイル名とクラス名も一致させておく。名前空間が使えないので
そこだけ例外的にクラスだけ名に_(アンダースコア)を使う。
詳しくはPEARライブラリのソースコードを見てみてくれ。
それから文字コードがEUCだとは。
Unicode(UTF-8)で統一してくれれば
DBとのやりとりも楽なのだが。
203: 2006/03/32(土)22:01 ID:??? AAS
>>188
悪いがあなたが書いたソースコードが実用的な例だとは
とても思えない・・・・。
あのコードがPHPで有ろうとJavaに置き換えようと実用的になるとは
とても思えない。
204: 2006/03/32(土)22:02 ID:??? AAS
>>190
オブ脳
オブジェクト脳のつくりかた
で良いんでないかな?
205(1): 2006/03/32(土)22:05 ID:??? AAS
>>198
PHPやJavaではextendsで継承しているともいうし拡張するともいう。
しかしクラスそのものを拡張しているだけであって
それによってそれだけで簡単にソフトウェアの拡張性が高まるとは限らない。
という落とし穴に気をつけないといけない。
その辺りを素早く理解するにはデザインパターンを学ぶことをお勧めする。
この本は初心者には非常にわかりやすいので
かなりお勧め。
増補改訂版Java言語で学ぶデザインパターン入門
外部リンク:www.hyuki.com
206: 2006/03/32(土)22:06 ID:??? AAS
>>201
gotoか。Javaみたいに例外処理限定や
ラベル付きbreak, continue文だけにgoto同様の機能を
限定的に持たせるだけにしてくれればいいのだが・・・・。
C#みたいにJavaのラベル付きbreakやcontinueをgotoキーワードで
実装すると言うだけのレベルだろうか?
207: 2006/03/32(土)22:20 ID:??? AAS
188はTemplateMethodの実例を見せたかったんだろ
俺は悪いコードだとは思わないが
208: 2006/03/32(土)22:23 ID:??? AAS
>>205
結城本はガチだな
ただOOPはじめたばかりの人がいきなり分かるほど
簡単だとも思わないが…
209: 2006/03/32(土)22:39 ID:??? AAS
何でいまどきgotoなんだろ。
俺的には無限再帰を可能にしてwhileとforみたいなダサいもんも排除した
関数言語にして欲しいと前から思っているんだけどそんな人いませんか。
210: 2006/03/32(土)23:12 ID:??? AAS
Gauche とか使えば?
211(1): 2006/03/32(土)23:13 ID:??? AAS
PHPで継承はあんまり必要ないな。
使い道がないから。
ウェブでオブジェクト指向するなら、JavaScriptが一番使いどころが多い。
212(1): 2006/03/32(土)23:16 ID:??? AAS
>>193
そりゃあれば使うよ
ないものねだりしてもしゃーないでしょってこと
213(1): 2006/03/32(土)23:39 ID:??? AAS
finalとabstractとinterfaceが
とりあえずどんなものかは
わかったけど実際にどうやって
それを有効利用できればいいか
わからない香具師に結城本はおすすめだと思う。
214: 2006/03/32(土)23:40 ID:??? AAS
>>211
> ウェブでオブジェクト指向するなら、JavaScriptが一番使いどころが多い。
まてまてw それはJavaの間違いではw
215(1): 2006/03/32(土)23:40 ID:??? AAS
>>212
privateの利点が解らない香具師はあっても使わない。
216: 2006/03/32(土)23:56 ID:??? AAS
デフォルトがprivateだったらすげー便利だったのになぁ。
上下前次1-新書関写板覧索設栞歴
あと 226 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.008s