Webでオブジェクト指向プログラミング (442レス)
Webでオブジェクト指向プログラミング http://medaka.5ch.net/test/read.cgi/php/1133489897/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
169: nobodyさん [sage] 2006/03/31(金) 11:27:34 ID:??? >>164 みんなのためだなんて嘘書かないの。 ぼく分からないから教えてって言え。 http://medaka.5ch.net/test/read.cgi/php/1133489897/169
170: nobodyさん [sage] 2006/03/31(金) 11:55:57 ID:??? >>169 ぼく分からないから教えて これでいいか?さあ早く教えろ。 http://medaka.5ch.net/test/read.cgi/php/1133489897/170
171: nobodyさん [sage] 2006/03/31(金) 14:59:28 ID:??? カプセル化 【encapsulation】 読み方 : カプセルか 分野 : プログラミング > オブジェクト指向 オブジェクト指向プログラミングが持つ特徴の一つ。 データとそれを操作する手続きを一体化して「オブジェクト」として定義し、オブジェクト内の細かい仕様や構造を外部から隠蔽すること。 外部からは公開された手続きを利用することでしかデータを操作できないようにすることで、個々のオブジェクトの独立性が高まる。 カプセル化を進めることによりオブジェクト内部の仕様変更が外部に影響しなくなり、ソフトウェアの保守性や開発効率が高まり、プログラムの部分的な再利用が容易になる。 で、PHPで実用的なカプセル化ってどんなのよ? http://medaka.5ch.net/test/read.cgi/php/1133489897/171
172: nobodyさん [sage] 2006/03/31(金) 15:56:15 ID:??? >>171 PHP(4)ではカプセル化は無理。 だから、コメント上で、 どの情報にはアクセスできてどの情報はアクセスを禁止するかを明言する必要がある。 だからPHP(4)に関して言えば、OOPによるカプセル化の利点はない。 http://medaka.5ch.net/test/read.cgi/php/1133489897/172
173: nobodyさん [sage] 2006/03/31(金) 17:08:32 ID:??? Singleton前提のクラスは インスタンス化する必要ないってことでOK? でもコンストラクタでの初期設定ができないか… http://medaka.5ch.net/test/read.cgi/php/1133489897/173
174: nobodyさん [] 2006/03/31(金) 17:39:36 ID:CdaR7r2n PHPにおけるOOPの利点は、言葉で伝えてもなかなか分からないと思うので、 応用例を作ってみました。 文字列を1文字ずつ読み出すスクリプトです。 ソース http://trashtoy.dw.land.to/app/chartest/chartest.zip 実行例 http://trashtoy.dw.land.to/app/chartest/sjis-test.php http://trashtoy.dw.land.to/app/chartest/euc-test.php http://medaka.5ch.net/test/read.cgi/php/1133489897/174
175: 174 [sage] 2006/03/31(金) 17:44:05 ID:??? >>173 例えば >>174 のソースの中にある euc_jp_reader クラスや shift_jis_reader クラスなんかは Singleton 前提のクラスですが、 char_iterator クラスのコンストラクタの引数となるため、インスタンス化してやる必要があります。 Singleton 前提のクラスを敢えてインスタンス化する利点の一つは、 ポリモルフィズムが応用できるってことかな。 http://medaka.5ch.net/test/read.cgi/php/1133489897/175
176: nobodyさん [sage] 2006/03/31(金) 18:30:26 ID:??? >>175 なるほど ○他の関数の引数に出来る ○その結果クラス名を指定しないメソッド呼び出しも可能になる (ポリモーフィズム) ってことだね http://medaka.5ch.net/test/read.cgi/php/1133489897/176
177: nobodyさん [sage] 2006/03/31(金) 18:35:59 ID:??? >>174 2つ質問がある。 ・そのスクリプトの中で、Webサイトを構築する上で有用な情報はどこにあるの? ・そのスクリプトの中で、JavaやRubyに対するPHPの優位性はどこにあるの? http://medaka.5ch.net/test/read.cgi/php/1133489897/177
178: 174 [sage] 2006/03/31(金) 19:14:39 ID:??? ・そのスクリプトの中で、Webサイトを構築する上で有用な情報はどこにあるの? ごめん。意味を正しく受け取ることが出来なかったんだけど、要は 「それを使って何か実際に役に立つものが作れるのか?」 ってことで良いですか? これは自作の XML 解析モジュールに応用してます。 レンタルサーバーみたいに、外部モジュールを自由に導入できない (すなわち libxml モジュールなどが使えない)環境のために作りました。 ・そのスクリプトの中で、JavaやRubyに対するPHPの優位性はどこにあるの? 知りません。もしかしたら Java や Ruby のほうが優れているんじゃないんですか? 別に PHP が Java や Ruby より優れてなきゃいけない理由なんてないし。 http://medaka.5ch.net/test/read.cgi/php/1133489897/178
179: nobodyさん [sage] 2006/03/31(金) 19:54:05 ID:??? 1つ目の質問についてだけど、いちおうWebProg板だしWebプログラミングでオブジェクト指向っていうのがテーマなスレだから、あんまりズレないようにしないとね。 XMLの解析に使ってる点はいいんじゃない。お疲れさん。 2つ目は他の言語でなくなぜPHPなのかって話題が出てたから聞いてみただけ。 PHPしか知らないってのも理由の1つとしてはいいけど、馬鹿にされるからあまり言わないほうがいいかもね。 http://medaka.5ch.net/test/read.cgi/php/1133489897/179
180: nobodyさん [sage] 2006/03/31(金) 21:05:47 ID:??? >>179 そういうしょうもない煽りは 【戦場は】PHP王とJava乞食【エンタープライズ】 http://pc8.2ch.net/test/read.cgi/php/1140124172/ こっちでやれ http://medaka.5ch.net/test/read.cgi/php/1133489897/180
181: nobodyさん [sage] 2006/03/31(金) 22:24:05 ID:??? >>171の続き 継承 【inheritance】 読み方 : けいしょう 別名 : インヘリタンス 分野 : プログラミング > オブジェクト指向 オブジェクト指向プログラミングにおいて、既に定義されているクラスをもとに、拡張や変更を加えた新しいクラスを定義すること。 元になるクラスを「スーパークラス」(super class)、あるいは「基底クラス」「基本クラス」(base class)などと呼び、新たに定義されたクラスを「サブクラス」(subclass)、あるいは「派生クラス」(derived class)と呼ぶ。 スーパークラスの性質はすべてサブクラスに受け継がれ、サブクラスではスーパークラスとの違いを定義するだけでよい。 複数のスーパークラスから新しいクラスを定義することを多重継承という。 で、PHPで実用的な継承ってどんなのよ? http://medaka.5ch.net/test/read.cgi/php/1133489897/181
182: nobodyさん [sage] 2006/03/31(金) 22:33:03 ID:??? >>181 普通にやれ http://medaka.5ch.net/test/read.cgi/php/1133489897/182
183: nobodyさん [sage] 2006/03/31(金) 22:59:34 ID:??? >>182 普通とは? http://medaka.5ch.net/test/read.cgi/php/1133489897/183
184: nobodyさん [sage] 2006/03/31(金) 23:22:53 ID:??? なんだこの流れ PHP のスレは大量にあるんだからどこでも使えよ 単に PHP をバカにしたいやつはもうこないでくれないか 本当に知らないのならもっと真摯に勉強しろ http://medaka.5ch.net/test/read.cgi/php/1133489897/184
185: nobodyさん [sage] 2006/03/31(金) 23:40:49 ID:??? >>184 そう言い捨てて意味のあることを書かない(書けない?)人が多いんですよこのスレ。 http://medaka.5ch.net/test/read.cgi/php/1133489897/185
186: nobodyさん [sage] 2006/03/31(金) 23:42:06 ID:??? それ以前に意味のある質問したことあるんですか? http://medaka.5ch.net/test/read.cgi/php/1133489897/186
187: nobodyさん [sage] 2006/03/31(金) 23:55:31 ID:??? その質問は意味があるんですか? http://medaka.5ch.net/test/read.cgi/php/1133489897/187
188: 174 [sage] 2006/03/32(土) 00:32:20 ID:??? >>181 >>174 で晒したソースは、 PHPでの実用的な継承 (っていうか、別に普通だけど) の例でもあると個人的に思うのですが、 これだけだと伝わりませんでしたか? http://medaka.5ch.net/test/read.cgi/php/1133489897/188
189: nobodyさん [sage] 2006/03/32(土) 16:53:32 ID:??? この流れじゃあ 「オブジェクト指向意味ワカランから本買うけど何がいい?」 なんて厨な質問できねーYO! http://medaka.5ch.net/test/read.cgi/php/1133489897/189
190: nobodyさん [sage] 2006/03/32(土) 17:09:54 ID:??? >>174 いや、そんな自己満コード晒してもらっても http://medaka.5ch.net/test/read.cgi/php/1133489897/190
191: nobodyさん [sage] 2006/03/32(土) 20:29:42 ID:??? >>189 ぱっと思いつくのは 憂鬱なプログラマのためのオブジェクト指向開発講座―C++による実践的ソフトウェア構築入門とか >>188 OO分かってない奴にいきなりコードを見せても チンプンカンプンだと思う http://medaka.5ch.net/test/read.cgi/php/1133489897/191
192: nobodyさん [sage] 2006/03/32(土) 21:37:50 ID:??? >>127 だから重複してるからイランと http://medaka.5ch.net/test/read.cgi/php/1133489897/192
193: nobodyさん [sage] 2006/03/32(土) 21:39:06 ID:??? >>128 JavaやC++のように大規模開発でも使う場面が 多い言語ではprivateは重宝するよ。 なにせprivateをうまく使うとデバッグがしやすいしバグもとりやすく テストもしやすくソースコードの信頼性も上がる。 http://medaka.5ch.net/test/read.cgi/php/1133489897/193
194: nobodyさん [sage] 2006/03/32(土) 21:42:32 ID:??? >>137 PHP使えるレンタル鯖が多いからだろ。 Ruby使える鯖は少ないし Rubyというだけで日本人が作った言語だから ショボイと思われがてで不キュしていなかったと思われる。 http://medaka.5ch.net/test/read.cgi/php/1133489897/194
195: nobodyさん [sage] 2006/03/32(土) 21:43:46 ID:??? >>143 この本を読めばクラスの使い方がわかるようになるよ。 超お勧め。 Amazon.co.jp:アジャイルソフトウェア開発の奥義: 本 http://www.amazon.co.jp/exec/obidos/ASIN/4797323361/249-2469696-1854764 http://medaka.5ch.net/test/read.cgi/php/1133489897/195
196: nobodyさん [sage] 2006/03/32(土) 21:45:56 ID:??? >>156 おれはよく継承を使いまくってる。 将来拡張する予定があるものは かならず(空でもいいので)スーパークラスを作って 継承してつかっている。 継承は使い方を間違えたり勘違いしている人間が使うと 継承=拡張そのものだと 誤解してだたやみくもに継承しまくることがあるので、 継承を使いこなしたければ デザインパターンについてよく勉強した方が良い。 http://medaka.5ch.net/test/read.cgi/php/1133489897/196
197: nobodyさん [sage] 2006/03/32(土) 21:47:44 ID:??? >>160 > ・関数がいい人は関数でやればいい > ・クラスがいい人はクラスでやればいい > ↑ここまではおk。それじゃ、 > ・クラスがいい人は何のためにクラス使ってるの?しかもPHPでw ←いまここ 大規模化する可能性のあるソフトをPHPで作るとき。 顧客がPHPを使えと言ってきたら PHPを使わざるを得ない。けれどもオブジェクト指向を 使わないで開発すると一体どんなとんでもない目に あうのか散々味わってきたので 漏れはかならずオブジェクト指向でPHPコードを書く。 http://medaka.5ch.net/test/read.cgi/php/1133489897/197
198: nobodyさん [sage] 2006/03/32(土) 21:49:55 ID:??? 継承 = inheritance 拡張 = extends なんだよな・・・・ http://medaka.5ch.net/test/read.cgi/php/1133489897/198
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 244 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.007s