Webでオブジェクト指向プログラミング (442レス)
Webでオブジェクト指向プログラミング http://medaka.5ch.net/test/read.cgi/php/1133489897/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
152: nobodyさん [sage] 2006/03/31(金) 00:12:08 ID:??? perlみたいにパッケージがあれば関数ライブラリだけでやってけるかも知れないが、PHPにパッケージはない。 代わりにクラスを使うしかない。 http://medaka.5ch.net/test/read.cgi/php/1133489897/152
153: nobodyさん [sage] 2006/03/31(金) 00:31:04 ID:??? >>147 むしろなぜ分類(除外)するのか、というところにOOの本質があるのでは? http://medaka.5ch.net/test/read.cgi/php/1133489897/153
154: nobodyさん [] 2006/03/31(金) 05:07:58 ID:mYeRlPC0 >>152 PHPのクラスがパッケージの代替でしかないなら、インスタンス化は無意味ってこと? $hoge = new Hoge; $hoge->kansuu(); より Hoge::kansuu(); の方が早いもんね http://medaka.5ch.net/test/read.cgi/php/1133489897/154
155: nobodyさん [sage] 2006/03/31(金) 05:13:33 ID:??? インスタンスにしないと継承でけんやん http://medaka.5ch.net/test/read.cgi/php/1133489897/155
156: nobodyさん [sage] 2006/03/31(金) 05:31:31 ID:??? 継承とかPHPで使ってるの見たことない。 グローバル変数使わないだけなら定数使うとかあるし http://medaka.5ch.net/test/read.cgi/php/1133489897/156
157: nobodyさん [sage] 2006/03/31(金) 05:36:54 ID:??? ばりばり使いますよ フレームワークなんて継承前提だし http://medaka.5ch.net/test/read.cgi/php/1133489897/157
158: nobodyさん [sage] 2006/03/31(金) 08:04:27 ID:??? インスタンスにせんでも継承はできまっせ http://medaka.5ch.net/test/read.cgi/php/1133489897/158
159: nobodyさん [sage] 2006/03/31(金) 08:09:59 ID:??? >>150 普通の関数でいいと思うならそれでいけばいいじゃんてことでしょ つかそういうスレつけてる人はこのスレ覗く必要全然ない http://medaka.5ch.net/test/read.cgi/php/1133489897/159
160: nobodyさん [sage] 2006/03/31(金) 08:38:38 ID:??? ・関数がいい人は関数でやればいい ・クラスがいい人はクラスでやればいい ↑ここまではおk。それじゃ、 ・クラスがいい人は何のためにクラス使ってるの?しかもPHPでw ←いまここ http://medaka.5ch.net/test/read.cgi/php/1133489897/160
161: nobodyさん [sage] 2006/03/31(金) 08:56:52 ID:??? OOP関係の本なら大概載っている 1.カプセル化 2.継承 3.ポリモフィズム の、3つが何故良いのかを説明できれば、OOPの利点が見えるんじゃないの? 詳しい人↓よろ。 http://medaka.5ch.net/test/read.cgi/php/1133489897/161
162: nobodyさん [sage] 2006/03/31(金) 08:59:41 ID:??? いまだにクラスを何に使ってるの、なんて聞く人がいるの? http://medaka.5ch.net/test/read.cgi/php/1133489897/162
163: nobodyさん [sage] 2006/03/31(金) 09:03:25 ID:??? 1.カプセル化 2.継承 3.ポリモフィズム ならJavaのほうが初めからそういうふうに設計された言語だけあって有利じゃないの? PHPのクラスにそういう利点て見出せないな。 http://medaka.5ch.net/test/read.cgi/php/1133489897/163
164: nobodyさん [sage] 2006/03/31(金) 09:11:07 ID:??? >>162 みんなのために説明よろしく。 http://medaka.5ch.net/test/read.cgi/php/1133489897/164
165: nobodyさん [sage] 2006/03/31(金) 09:23:18 ID:??? >>158 本当だ… ちゃんと親クラスの関数にアクセスできる。 てっきりインスタンス時点で合成されるのかと思ってた。 http://medaka.5ch.net/test/read.cgi/php/1133489897/165
166: nobodyさん [sage] 2006/03/31(金) 09:31:23 ID:??? PHPはもともと関数志向?的な作りだから、 OOPに最適化されているとは言いがたいんだけど、 それでもクラスは使った方が便利だよ。 http://medaka.5ch.net/test/read.cgi/php/1133489897/166
167: nobodyさん [sage] 2006/03/31(金) 09:43:30 ID:??? それじゃなぜPHPを使うの? http://medaka.5ch.net/test/read.cgi/php/1133489897/167
168: nobodyさん [sage] 2006/03/31(金) 09:49:02 ID:??? 総合的に見て、実用性に秀でているから。 http://medaka.5ch.net/test/read.cgi/php/1133489897/168
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 261 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s