Webでオブジェクト指向プログラミング (442レス)
上下前次1-新
176: 2006/03/31(金)18:30 ID:??? AAS
>>175
なるほど
○他の関数の引数に出来る
○その結果クラス名を指定しないメソッド呼び出しも可能になる
(ポリモーフィズム)
ってことだね
177: 2006/03/31(金)18:35 ID:??? AAS
>>174
2つ質問がある。
・そのスクリプトの中で、Webサイトを構築する上で有用な情報はどこにあるの?
・そのスクリプトの中で、JavaやRubyに対するPHPの優位性はどこにあるの?
178: 174 2006/03/31(金)19:14 ID:??? AAS
・そのスクリプトの中で、Webサイトを構築する上で有用な情報はどこにあるの?
ごめん。意味を正しく受け取ることが出来なかったんだけど、要は
「それを使って何か実際に役に立つものが作れるのか?」
ってことで良いですか?
これは自作の XML 解析モジュールに応用してます。
レンタルサーバーみたいに、外部モジュールを自由に導入できない
(すなわち libxml モジュールなどが使えない)環境のために作りました。
・そのスクリプトの中で、JavaやRubyに対するPHPの優位性はどこにあるの?
知りません。もしかしたら Java や Ruby のほうが優れているんじゃないんですか?
別に PHP が Java や Ruby より優れてなきゃいけない理由なんてないし。
179(1): 2006/03/31(金)19:54 ID:??? AAS
1つ目の質問についてだけど、いちおうWebProg板だしWebプログラミングでオブジェクト指向っていうのがテーマなスレだから、あんまりズレないようにしないとね。
XMLの解析に使ってる点はいいんじゃない。お疲れさん。
2つ目は他の言語でなくなぜPHPなのかって話題が出てたから聞いてみただけ。
PHPしか知らないってのも理由の1つとしてはいいけど、馬鹿にされるからあまり言わないほうがいいかもね。
180: 2006/03/31(金)21:05 ID:??? AAS
>>179
そういうしょうもない煽りは
【戦場は】PHP王とJava乞食【エンタープライズ】
2chスレ:php
こっちでやれ
181(2): 2006/03/31(金)22:24 ID:??? AAS
>>171の続き
継承 【inheritance】
読み方 : けいしょう
別名 : インヘリタンス
分野 : プログラミング > オブジェクト指向
オブジェクト指向プログラミングにおいて、既に定義されているクラスをもとに、拡張や変更を加えた新しいクラスを定義すること。
元になるクラスを「スーパークラス」(super class)、あるいは「基底クラス」「基本クラス」(base class)などと呼び、新たに定義されたクラスを「サブクラス」(subclass)、あるいは「派生クラス」(derived class)と呼ぶ。
スーパークラスの性質はすべてサブクラスに受け継がれ、サブクラスではスーパークラスとの違いを定義するだけでよい。
複数のスーパークラスから新しいクラスを定義することを多重継承という。
で、PHPで実用的な継承ってどんなのよ?
182(1): 2006/03/31(金)22:33 ID:??? AAS
>>181
普通にやれ
183: 2006/03/31(金)22:59 ID:??? AAS
>>182
普通とは?
184(1): 2006/03/31(金)23:22 ID:??? AAS
なんだこの流れ
PHP のスレは大量にあるんだからどこでも使えよ
単に PHP をバカにしたいやつはもうこないでくれないか
本当に知らないのならもっと真摯に勉強しろ
185: 2006/03/31(金)23:40 ID:??? AAS
>>184
そう言い捨てて意味のあることを書かない(書けない?)人が多いんですよこのスレ。
186: 2006/03/31(金)23:42 ID:??? AAS
それ以前に意味のある質問したことあるんですか?
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
上下前次1-新書関写板覧索設栞歴
あと 237 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s