Webでオブジェクト指向プログラミング (442レス)
Webでオブジェクト指向プログラミング http://medaka.5ch.net/test/read.cgi/php/1133489897/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
201: nobodyさん [sage] 2006/03/32(土) 21:57:35 ID:??? >>199 PHP6もgoto付けるとか言ってないで そのへん整備すりゃいいのにな http://medaka.5ch.net/test/read.cgi/php/1133489897/201
202: nobodyさん [sage] 2006/03/32(土) 21:59:03 ID:??? >>174-175 そんなに汚くないコードだけど ちょっと抵抗があるソースコードだな。 クラス名が全部小文字で 名前空間の替わりの役割を果たしているわけでもないのに 区切り文字に_(アンダースコア)つかうという 表記を未だに使っているとは・・・・。 やっまりキャメルケース(CamelCase)がわかりやすいと思うのだが。 それから一ファイルにつき一クラスにしておくのがベスト。 一つのファイルに複数のクラスを入れておくことはお勧めしない。 ファイル名とクラス名も一致させておく。名前空間が使えないので そこだけ例外的にクラスだけ名に_(アンダースコア)を使う。 詳しくはPEARライブラリのソースコードを見てみてくれ。 それから文字コードがEUCだとは。 Unicode(UTF-8)で統一してくれれば DBとのやりとりも楽なのだが。 http://medaka.5ch.net/test/read.cgi/php/1133489897/202
203: nobodyさん [sage] 2006/03/32(土) 22:01:42 ID:??? >>188 悪いがあなたが書いたソースコードが実用的な例だとは とても思えない・・・・。 あのコードがPHPで有ろうとJavaに置き換えようと実用的になるとは とても思えない。 http://medaka.5ch.net/test/read.cgi/php/1133489897/203
204: nobodyさん [sage] 2006/03/32(土) 22:02:13 ID:??? >>190 オブ脳 オブジェクト脳のつくりかた で良いんでないかな? http://medaka.5ch.net/test/read.cgi/php/1133489897/204
205: nobodyさん [sage] 2006/03/32(土) 22:05:14 ID:??? >>198 PHPやJavaではextendsで継承しているともいうし拡張するともいう。 しかしクラスそのものを拡張しているだけであって それによってそれだけで簡単にソフトウェアの拡張性が高まるとは限らない。 という落とし穴に気をつけないといけない。 その辺りを素早く理解するにはデザインパターンを学ぶことをお勧めする。 この本は初心者には非常にわかりやすいので かなりお勧め。 増補改訂版Java言語で学ぶデザインパターン入門 http://www.hyuki.com/dp/ http://medaka.5ch.net/test/read.cgi/php/1133489897/205
206: nobodyさん [sage] 2006/03/32(土) 22:06:45 ID:??? >>201 gotoか。Javaみたいに例外処理限定や ラベル付きbreak, continue文だけにgoto同様の機能を 限定的に持たせるだけにしてくれればいいのだが・・・・。 C#みたいにJavaのラベル付きbreakやcontinueをgotoキーワードで 実装すると言うだけのレベルだろうか? http://medaka.5ch.net/test/read.cgi/php/1133489897/206
207: nobodyさん [sage] 2006/03/32(土) 22:20:15 ID:??? 188はTemplateMethodの実例を見せたかったんだろ 俺は悪いコードだとは思わないが http://medaka.5ch.net/test/read.cgi/php/1133489897/207
208: nobodyさん [sage] 2006/03/32(土) 22:23:49 ID:??? >>205 結城本はガチだな ただOOPはじめたばかりの人がいきなり分かるほど 簡単だとも思わないが… http://medaka.5ch.net/test/read.cgi/php/1133489897/208
209: nobodyさん [sage] 2006/03/32(土) 22:39:55 ID:??? 何でいまどきgotoなんだろ。 俺的には無限再帰を可能にしてwhileとforみたいなダサいもんも排除した 関数言語にして欲しいと前から思っているんだけどそんな人いませんか。 http://medaka.5ch.net/test/read.cgi/php/1133489897/209
210: nobodyさん [sage] 2006/03/32(土) 23:12:37 ID:??? Gauche とか使えば? http://medaka.5ch.net/test/read.cgi/php/1133489897/210
211: nobodyさん [sage] 2006/03/32(土) 23:13:10 ID:??? PHPで継承はあんまり必要ないな。 使い道がないから。 ウェブでオブジェクト指向するなら、JavaScriptが一番使いどころが多い。 http://medaka.5ch.net/test/read.cgi/php/1133489897/211
212: nobodyさん [sage] 2006/03/32(土) 23:16:24 ID:??? >>193 そりゃあれば使うよ ないものねだりしてもしゃーないでしょってこと http://medaka.5ch.net/test/read.cgi/php/1133489897/212
213: nobodyさん [sage] 2006/03/32(土) 23:39:13 ID:??? finalとabstractとinterfaceが とりあえずどんなものかは わかったけど実際にどうやって それを有効利用できればいいか わからない香具師に結城本はおすすめだと思う。 http://medaka.5ch.net/test/read.cgi/php/1133489897/213
214: nobodyさん [sage] 2006/03/32(土) 23:40:02 ID:??? >>211 > ウェブでオブジェクト指向するなら、JavaScriptが一番使いどころが多い。 まてまてw それはJavaの間違いではw http://medaka.5ch.net/test/read.cgi/php/1133489897/214
215: nobodyさん [sage] 2006/03/32(土) 23:40:33 ID:??? >>212 privateの利点が解らない香具師はあっても使わない。 http://medaka.5ch.net/test/read.cgi/php/1133489897/215
216: nobodyさん [sage] 2006/03/32(土) 23:56:49 ID:??? デフォルトがprivateだったらすげー便利だったのになぁ。 http://medaka.5ch.net/test/read.cgi/php/1133489897/216
217: nobodyさん [sage] 2006/04/02(日) 00:13:33 ID:??? Javaだったらデフォルトでpackage privateになるのにな。 publicと明示的につけないとパッケージ外部からアクセスできなくなる ってことが名前空間がないPHPではできないから デザインパターンの実装も中途半端になる。 http://medaka.5ch.net/test/read.cgi/php/1133489897/217
218: nobodyさん [sage] 2006/04/02(日) 01:06:11 ID:??? >>215 そんなやつの話を持ち出されても知らない ダメコーダに強制できないとかいう話ならご愁傷さま としか言いようがないですな http://medaka.5ch.net/test/read.cgi/php/1133489897/218
219: nobodyさん [sage] 2006/04/02(日) 01:15:39 ID:??? >>213 俺も最初そのへん「これ必要か?」と思ったな 他の人(近未来の自分含む)に対しての「使われ方の説明」を ソースの中に機能的として組み込むものだとわかって 得心した。 http://medaka.5ch.net/test/read.cgi/php/1133489897/219
220: nobodyさん [sage] 2006/04/02(日) 01:57:43 ID:??? PHP6のgotoは、gotoというキーワードが実装される訳ではなくて、 for () { if () { break foo; } print "bar\n"; foo: print "baz\n"; } こんな感じに書けるようになるもの。 http://medaka.5ch.net/test/read.cgi/php/1133489897/220
221: nobodyさん [sage] 2006/04/02(日) 02:36:42 ID:??? >>220 これならあってもいいかも。 http://medaka.5ch.net/test/read.cgi/php/1133489897/221
222: nobodyさん [sage] 2006/04/02(日) 07:04:12 ID:??? >>199,200 型安全性ならis_arrayとかis_stringとかinstanceofでチェックすればいいだけじゃないの? http://medaka.5ch.net/test/read.cgi/php/1133489897/222
223: nobodyさん [sage] 2006/04/02(日) 07:17:49 ID:??? それはそうだが 何が求められているのかを知るために 中身まで見ないといけないのはあまりよろしくないだろう。 http://medaka.5ch.net/test/read.cgi/php/1133489897/223
224: nobodyさん [sage] 2006/04/02(日) 07:50:00 ID:??? つ @param @return http://medaka.5ch.net/test/read.cgi/php/1133489897/224
225: nobodyさん [sage] 2006/04/02(日) 09:57:52 ID:??? 動的型付け言語であるPHPで、型を指定したいってのがそもそも可笑しな話なんだよな。 それでもタイプヒンティングみたいにオブジェクトの型を動的にチェックしてくれるようにする構文はいいアイデアだと思った。 Javaでいう変数の静的な型指定(つーかC/C++からだけど)と構文を似せたってのも良い。 JavaScript2.0なんかもそういう方向に行ってるね。 >>199 > integer型やstring型などをメソッド引数に指定できないのが たぶんだけど、統一性の問題があるからだと思う。 例えば引数にintを指定したメソッドがあったとして、呼び出すときにstringを渡したからってエラーにすべきではないでしょ。 その辺の仕様がうまくいかないんじゃないかな。 http://medaka.5ch.net/test/read.cgi/php/1133489897/225
226: nobodyさん [sage] 2006/04/02(日) 10:18:28 ID:??? >>220 普通にJavaのパクリじゃないか。 Java自体もCあたりからパクッタ者だが http://medaka.5ch.net/test/read.cgi/php/1133489897/226
227: nobodyさん [sage] 2006/04/02(日) 10:24:36 ID:??? >>222 以前もどこかのスレで議論があったが。 それだけでは以下の問題を解決できない。 $number = 9; $value = 1; $x = $number + value *2; $y = $x * $x + 4 * $number; $number = 1000; $z = $x / ($y + $number); とした適当なコードがあったとき、 あとから $x = $number + value *2; の部分を $x = $nunber + value *2; と書きかえても $numberと$nunberとの違いの に気づかない。 そして路頭に迷ったあげくにデバッグに無駄に時間をかけることになって 開発速度が衰える。 http://medaka.5ch.net/test/read.cgi/php/1133489897/227
228: nobodyさん [sage] 2006/04/02(日) 10:28:07 ID:??? >>225 Javaみたいにラッパークラスを作ってしまえばいいかもしれんな。 final class Integer extends Number { $private $value; __construct($value){ if($valueがint型であれば){ $this->value = $value; } else { throw new NumberFormatException("整数以外入力するんじゃねえぞこのバカ野郎氏ね!"); } } } http://medaka.5ch.net/test/read.cgi/php/1133489897/228
229: nobodyさん [sage] 2006/04/02(日) 10:29:01 ID:??? privateに$が余分についていた。 あとは適度に必要な変換メソッドを追加しておくべし。 intValue()とか http://medaka.5ch.net/test/read.cgi/php/1133489897/229
230: nobodyさん [sage] 2006/04/02(日) 10:46:56 ID:??? >>228 お、いい方法じゃん!って一瞬思ったけど、 function method(Integer $param) を呼び出すときmethod(10)って書けないし>< >>227 えーっと、それは型安全性の問題なの・・・? http://medaka.5ch.net/test/read.cgi/php/1133489897/230
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 212 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s