Webでオブジェクト指向プログラミング (442レス)
Webでオブジェクト指向プログラミング http://medaka.5ch.net/test/read.cgi/php/1133489897/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
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
231: nobodyさん [sage] 2006/04/02(日) 13:43:38 ID:??? >>227 コンポーネントに対する入力値と戻り値をちゃんとチェックするような ユニットテストを書いとけばいいんじゃないの? http://medaka.5ch.net/test/read.cgi/php/1133489897/231
232: nobodyさん [sage] 2006/04/02(日) 16:24:19 ID:??? >>227 それは単なるタイプミスだ。 http://medaka.5ch.net/test/read.cgi/php/1133489897/232
233: nobodyさん [sage] 2006/04/03(月) 11:03:17 ID:??? >>230 ひとこと「それだとAUTO-BOXINGが欲しくなるな」と言えばいいのにw http://medaka.5ch.net/test/read.cgi/php/1133489897/233
234: nobodyさん [sage] 2006/04/03(月) 11:16:30 ID:??? >>233 つ 「それだとAUTO-BOXINGが欲しくなるな」 満足戴けたかな? PHPみたいな型なし言語なら、Javaみたいなプリミティブ型とそのラッパークラスのオートボクシング/アンボクシングだけでなく、もう少し汎用的な自動型変換が欲しいところだな。 function method(int $x) {} を method("100"); っていうふうに呼び出したならintにキャストするくらいの自動化はあってもいいと思う。 (今あるPHPのタイプヒンティングだと、型が違うとエラーっていう設計だから) もともとPHPは変数の実行時における型が文字列か整数かを意識しなくても適宜変換してくれるように設計された言語なわけだし。 http://medaka.5ch.net/test/read.cgi/php/1133489897/234
235: nobodyさん [sage] 2006/04/03(月) 14:51:40 ID:??? >>234 type hintingのメリットが台無しじゃね? http://medaka.5ch.net/test/read.cgi/php/1133489897/235
236: nobodyさん [sage] 2006/04/03(月) 14:54:33 ID:??? >>234 それなら、 function method($x) { $x = (int) $x; } でいいんじゃないの? http://medaka.5ch.net/test/read.cgi/php/1133489897/236
237: nobodyさん [sage] 2006/04/03(月) 15:34:14 ID:??? >>232 型宣言しておけばミスに即座に気が付く、 のだけれどあれだと気づかない。 http://medaka.5ch.net/test/read.cgi/php/1133489897/237
238: nobodyさん [sage] 2006/04/03(月) 15:35:04 ID:??? >>235 メリットって? >>236 間違えて配列やオブジェクトを渡したときに自動的にエラーを出してくれるかもしれない。 もちろんis_intで確認してエラー出せば同じことだから絶対なければならないっていう必然性はないけど、あったら便利かとは思う。 あとタイプヒンティングでintやstringなどの基本型だけは指定できないっていう今の状況より統一感あるかと。 オートボクシングや構文糖と考え方は一緒ね。 http://medaka.5ch.net/test/read.cgi/php/1133489897/238
239: nobodyさん [sage] 2006/04/03(月) 23:39:48 ID:??? PHPでそんなことするくらいなら、素直にJava使うわ。 http://medaka.5ch.net/test/read.cgi/php/1133489897/239
240: nobodyさん [sage] 2006/04/03(月) 23:50:13 ID:??? 引数に型書くだけの話やんけ http://medaka.5ch.net/test/read.cgi/php/1133489897/240
241: nobodyさん [] 2006/04/04(火) 03:55:07 ID:B/b940FU 普通のclassと、 abstractなclass, interfaceは、 クラス名から変えた方がいいんかな? どうやってる? http://medaka.5ch.net/test/read.cgi/php/1133489897/241
242: nobodyさん [sage] 2006/04/04(火) 15:51:08 ID:??? >>241 俺はabstractもinterfaceも普通の名前にしてる。 abstractやinterfaceをある特定クラスの仕様だけ抽象したことを表現したい場合に限り「Abstract〜」とか「〜Interface」にするかも。 例外だったら「〜Exception」てつけるけど。 http://medaka.5ch.net/test/read.cgi/php/1133489897/242
243: nobodyさん [sage] 2006/04/04(火) 23:58:21 ID:??? >>241-242 というか、C#やC++みたいに継承も実装もおなじ::をつかっているわけではなく PHPはjavaのようにちゃんと継承はextends、インターフェース実装はimplements を使うように指定されているから 名前を見ただけでインターフェースかクラスかわかるようにまでしなくてもええと思う。 IDE使えば名前指定しなくてもさらに一目でわかるし。PHPのIDEはよくわかんないけど http://medaka.5ch.net/test/read.cgi/php/1133489897/243
244: nobodyさん [sage] 2006/04/06(木) 03:29:44 ID:??? >>242-243 レスさんくす あんまり考えすぎなくてもいっか http://medaka.5ch.net/test/read.cgi/php/1133489897/244
245: nobodyさん [.] 2006/04/14(金) 07:15:35 ID:??? 質問です。 ビジネスロジックとドメインロジックとアプリケーションロジックは、プレゼンテーションロジックと対比的な位置づけですが、基本的に同じものですか? http://medaka.5ch.net/test/read.cgi/php/1133489897/245
246: nobodyさん [sage] 2006/04/14(金) 10:33:43 ID:??? >>245 使用する分析・設計手法によって、使われる用語とその定義は違ってきます。 こういうインフォーマルな場では、それぞれが別の立場・定義で勝手に用語を使う ことが多く、基本的な認識がすれ違ったまま不毛なレスが飛び交うのが常です。 まずは専門書で系統立った知識を得てから、自分なりの経験と知見を積んでいけば その類のどーでもいい疑問は解決すると思われます。 http://medaka.5ch.net/test/read.cgi/php/1133489897/246
247: nobodyさん [] 2006/04/22(土) 05:13:55 ID:cnsSSisF プロパティをtrue/falseにするメソッド名ってそれぞれどんな命名にする? http://medaka.5ch.net/test/read.cgi/php/1133489897/247
248: nobodyさん [sage] 2006/04/23(日) 05:49:14 ID:??? >>247 setTrue、setFalse setOn、setOff http://medaka.5ch.net/test/read.cgi/php/1133489897/248
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 194 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.209s*