サーバーサイドWebプログラミングのOOスレです。
・OOP、MVC、デザパタなどのコンセプト的な話題
・OOにまつわる言語比較(言語批判はその言語で開発してる人に失礼にあたることが多いのでなるべく禁止でお願いします)
・保守、再利用、生産性、開発環境などの実践的な話題
・Webサーバ、DBなどの外部との親和性に関する問題
・学習、教育などの方法論
などなど。
前スレ
PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/
Webでオブジェクト指向プログラミング
1nobodyさん
2005/12/02(金) 11:18:17ID:lnZM9OlM238nobodyさん
2006/04/03(月) 15:35:04ID:???239nobodyさん
2006/04/03(月) 23:39:48ID:??? PHPでそんなことするくらいなら、素直にJava使うわ。
240nobodyさん
2006/04/03(月) 23:50:13ID:??? 引数に型書くだけの話やんけ
241nobodyさん
2006/04/04(火) 03:55:07ID:B/b940FU 普通のclassと、
abstractなclass,
interfaceは、
クラス名から変えた方がいいんかな?
どうやってる?
abstractなclass,
interfaceは、
クラス名から変えた方がいいんかな?
どうやってる?
242nobodyさん
2006/04/04(火) 15:51:08ID:??? >>241
俺はabstractもinterfaceも普通の名前にしてる。
abstractやinterfaceをある特定クラスの仕様だけ抽象したことを表現したい場合に限り「Abstract〜」とか「〜Interface」にするかも。
例外だったら「〜Exception」てつけるけど。
俺はabstractもinterfaceも普通の名前にしてる。
abstractやinterfaceをある特定クラスの仕様だけ抽象したことを表現したい場合に限り「Abstract〜」とか「〜Interface」にするかも。
例外だったら「〜Exception」てつけるけど。
243nobodyさん
2006/04/04(火) 23:58:21ID:??? >>241-242
というか、C#やC++みたいに継承も実装もおなじ::をつかっているわけではなく
PHPはjavaのようにちゃんと継承はextends、インターフェース実装はimplements
を使うように指定されているから
名前を見ただけでインターフェースかクラスかわかるようにまでしなくてもええと思う。
IDE使えば名前指定しなくてもさらに一目でわかるし。PHPのIDEはよくわかんないけど
というか、C#やC++みたいに継承も実装もおなじ::をつかっているわけではなく
PHPはjavaのようにちゃんと継承はextends、インターフェース実装はimplements
を使うように指定されているから
名前を見ただけでインターフェースかクラスかわかるようにまでしなくてもええと思う。
IDE使えば名前指定しなくてもさらに一目でわかるし。PHPのIDEはよくわかんないけど
245nobodyさん
2006/04/14(金) 07:15:35ID:??? 質問です。
ビジネスロジックとドメインロジックとアプリケーションロジックは、プレゼンテーションロジックと対比的な位置づけですが、基本的に同じものですか?
ビジネスロジックとドメインロジックとアプリケーションロジックは、プレゼンテーションロジックと対比的な位置づけですが、基本的に同じものですか?
246nobodyさん
2006/04/14(金) 10:33:43ID:??? >>245
使用する分析・設計手法によって、使われる用語とその定義は違ってきます。
こういうインフォーマルな場では、それぞれが別の立場・定義で勝手に用語を使う
ことが多く、基本的な認識がすれ違ったまま不毛なレスが飛び交うのが常です。
まずは専門書で系統立った知識を得てから、自分なりの経験と知見を積んでいけば
その類のどーでもいい疑問は解決すると思われます。
使用する分析・設計手法によって、使われる用語とその定義は違ってきます。
こういうインフォーマルな場では、それぞれが別の立場・定義で勝手に用語を使う
ことが多く、基本的な認識がすれ違ったまま不毛なレスが飛び交うのが常です。
まずは専門書で系統立った知識を得てから、自分なりの経験と知見を積んでいけば
その類のどーでもいい疑問は解決すると思われます。
247nobodyさん
2006/04/22(土) 05:13:55ID:cnsSSisF プロパティをtrue/falseにするメソッド名ってそれぞれどんな命名にする?
249nobodyさん
2006/05/28(日) 01:10:04ID:??? >>247
どんなクラスのプロパティを作るかがわかれば
自ずとそれに見合った名前がわかると思うんだが。
どうしても名前がわからないときは>>248のようになるが。
そのプロパティがオセロの駒であれば、
setWhite(), setBlack() みたいな名前にするだろうし。
もしくはset(Color.WHITE). set(Color.BLACK)など。
表、裏を表すなら setHeads(), setTails()など
0か1なら setZero(), setOne()または>>248のように。
あと、メソッドを複数にする必要も、メソッドに引数を
割り当てる必要もないケースであるケースもありうる。
trueだったらfalse, falseだったtrueに反転するだけのメソッド
public void reverse(){
this.flagment = !this.flagment;
}
を定義するだけのものとか。
どんなクラスのプロパティを作るかがわかれば
自ずとそれに見合った名前がわかると思うんだが。
どうしても名前がわからないときは>>248のようになるが。
そのプロパティがオセロの駒であれば、
setWhite(), setBlack() みたいな名前にするだろうし。
もしくはset(Color.WHITE). set(Color.BLACK)など。
表、裏を表すなら setHeads(), setTails()など
0か1なら setZero(), setOne()または>>248のように。
あと、メソッドを複数にする必要も、メソッドに引数を
割り当てる必要もないケースであるケースもありうる。
trueだったらfalse, falseだったtrueに反転するだけのメソッド
public void reverse(){
this.flagment = !this.flagment;
}
を定義するだけのものとか。
250nobodyさん
2006/05/28(日) 09:18:03ID:??? 反転ならtoggleを使いたくなる
251nobodyさん
2006/11/04(土) 00:59:33ID:1MW2WScy スレを読まずに書くけど。
俺オブジェクト指向ってよくわかんないのね。で、
PHPでさ、テーブルごとにクラス作ってその中で
SQL発行してるソース見て思ったんだけど。こういう
のってテーブルのJOINはどう扱ってんの?
俺オブジェクト指向ってよくわかんないのね。で、
PHPでさ、テーブルごとにクラス作ってその中で
SQL発行してるソース見て思ったんだけど。こういう
のってテーブルのJOINはどう扱ってんの?
252nobodyさん
2006/11/04(土) 05:52:13ID:??? だからそれはテーブルじゃなくてデータオブジェクトです
253nobodyさん
2006/11/04(土) 15:27:28ID:??? 良スレ発見
254nobodyさん
2006/11/04(土) 17:39:13ID:???255nobodyさん
2006/11/21(火) 13:27:36ID:??? OOPを0から学ぶとすると、やはりJavaが最適なのでしょうか?
Railsで有名になったRubyでもよさそうですが、
どれを勉強しようか悩みます。
どちらも実行環境を整えるのが自分にとって一苦労な気がするので、
今まで環境が作りやすいPHPに逃げていましたが、
一向にOOPの概念がわからずじまいで、
本格的にJavaかRubyを入れてやってみようと考えています。
Railsで有名になったRubyでもよさそうですが、
どれを勉強しようか悩みます。
どちらも実行環境を整えるのが自分にとって一苦労な気がするので、
今まで環境が作りやすいPHPに逃げていましたが、
一向にOOPの概念がわからずじまいで、
本格的にJavaかRubyを入れてやってみようと考えています。
256nobodyさん
2006/11/21(火) 14:58:55ID:??? >>255
つ ttp://smalltalk.cincom.jp/scripts/smalltalk.dll/tutorials/index.ssp
つ ttp://smalltalk.cincom.jp/scripts/smalltalk.dll/tutorials/index.ssp
257nobodyさん
2006/11/23(木) 02:32:55ID:??? オブジェクト指向プログラミングの学習が目的なら、ウェブアプリやっても無駄だと思うよ。GUIのあるデスクトップアプリ作った方がいい。
258nobodyさん
2006/11/23(木) 10:48:14ID:??? > オブジェクト指向プログラミングの学習が目的なら、ウェブアプリやっても無駄だと思うよ。GUIのあるデスクトップアプリ作った方がいい。
はいはいわろすわろす。
はいはいわろすわろす。
259nobodyさん
2006/11/23(木) 11:32:44ID:??? GUIのプログラミングで身に付くのはオブジェクト指向よりむしろイベントドリブンだよね。
260nobodyさん
2006/11/23(木) 11:33:23ID:???261nobodyさん
2006/11/23(木) 16:55:37ID:??? webアプリでがちがちのオブジェクト指向やると重くならね?
262nobodyさん
2006/11/23(木) 18:29:52ID:??? もっと抽象的な議論しようぜ。
264nobodyさん
2006/11/24(金) 05:31:59ID:??? リクエストがあったらhtml吐き出して終わり、なタイプのwebアプリでは
オブジェクト指向はあまり身につかない。
なにしろ、インスタンスの寿命が短かくて、全員が突然死するわけだから、
時間軸がそっくり抜けてるのだよ。
気にしながらライブラリを作れば、ソースの構造的な部分はある程度身につくかな、くらいだろう。
オブジェクト指向はあまり身につかない。
なにしろ、インスタンスの寿命が短かくて、全員が突然死するわけだから、
時間軸がそっくり抜けてるのだよ。
気にしながらライブラリを作れば、ソースの構造的な部分はある程度身につくかな、くらいだろう。
265nobodyさん
2006/11/24(金) 09:34:29ID:??? JavaでWebアプリしかやらない人は、J2EEパターンとかDIコンテナとか使って
「オブジェクト指向」と思っているんじゃないかな?
今のJavaのWebはレイヤー構造や
ドメインモデル(エンティティ)とビジネスロジックを完全に分離した設計、
ステートレス・スレッドセーフ・request/sessionスコープなどが優先されて、
本来のオブジェクト指向信者から見ると、論理的にあまりきれいな設計ではない。
とは言える。
言語レベルを超えた「モデリング」(UML等は使っても良いが)を
そのまま実装にまで落とすには無理がある。
「オブジェクト指向」と思っているんじゃないかな?
今のJavaのWebはレイヤー構造や
ドメインモデル(エンティティ)とビジネスロジックを完全に分離した設計、
ステートレス・スレッドセーフ・request/sessionスコープなどが優先されて、
本来のオブジェクト指向信者から見ると、論理的にあまりきれいな設計ではない。
とは言える。
言語レベルを超えた「モデリング」(UML等は使っても良いが)を
そのまま実装にまで落とすには無理がある。
266nobodyさん
2006/11/24(金) 22:24:39ID:??? 要するに Java なんかつかうやつはばかですってこと?
267nobodyさん
2006/11/25(土) 16:46:42ID:??? JavaでWebなんて業務外では使わないしどうでもいい。
269nobodyさん
2006/11/28(火) 00:51:55ID:??? 本気でオブジェクト指向やりたいならウェブでは役者不足ってこと。
270nobodyさん
2006/11/28(火) 01:02:02ID:??? 役者不足(笑)
271nobodyさん
2006/11/28(火) 07:32:06ID:??? Actorが不足してるわけですな。
272nobodyさん
2006/11/28(火) 11:24:02ID:??? OOの概念を把握したりOOの組み方を学ぶだけなら
PHPでもそれなりに勉強できると思うけどな
PHP5で書かれたフレームワークやライブラリのコードを眺めてみたら
PHPでもそれなりに勉強できると思うけどな
PHP5で書かれたフレームワークやライブラリのコードを眺めてみたら
273nobodyさん
2006/11/28(火) 11:34:28ID:???274nobodyさん
2006/11/29(水) 09:38:30ID:??? それOOをまったく理解できなかった俺が買ってみた
どうなるか人柱になるわw
著者でググったらブログが一番上にヒットした
どうなるか人柱になるわw
著者でググったらブログが一番上にヒットした
275nobodyさん
2006/11/29(水) 10:49:08ID:??? PHPのデザパタ入門ってどうなんだろうか。
レビュー期待www
レビュー期待www
276nobodyさん
2006/11/29(水) 16:42:27ID:???277nobodyさん
2006/11/29(水) 16:50:30ID:??? 一口にオブジェクト指向って言ってもメッセージ主体かクラス主体かで変わってくるからね。
C++, Java, PHP は後者。前者は Smalltalk, Objective-C, io とか。
C++, Java, PHP は後者。前者は Smalltalk, Objective-C, io とか。
278nobodyさん
2006/11/29(水) 17:04:29ID:??? >>276
簡単なライブラリから眺めていけばいいよPEARのDBとか
OOPを一番手っ取り早く理解する方法は
OOで適当な分野のライブラリを自分でコード書いてみる事
当然よく分からないうちはコードは汚い
なのでPEARで同じような分野のライブラリコードを眺めて
どういう構造なのかを調べてみながら自分のコードを書き直す
それの繰り返しで把握していくもんだと思う
いきなりデザパタの勉強とかやってもあんまり意味がない
OOPを理解していく上でどういう局面で
どういうパターンを使ったら良いという事がわからないから
パターンってのは結局ノウハウの事だし
ノウハウってのは必要に応じて生まれて出来上がっていくもんだから
ノウハウ自体を先に説明されてもピンとこないはず
英語は勉強するしかないがまめに単語の意味を引くようにしておけば
文法を正確に理解してなくてもだいたい把握できるようになるはず
ネットならすぐに調べられるんだからそのコストは無駄にはならない
コードは万国共通だ
ごちゃごちゃしてても所詮はPHPのコード、Cやアセンブリじゃない
ゆっくり読んでいけばわかる
小さなライブラリでもよくできてるライブラリはたくさんある
その区別がつくようになっていけば
自ずといいコードも書けるようになるだろう
簡単なライブラリから眺めていけばいいよPEARのDBとか
OOPを一番手っ取り早く理解する方法は
OOで適当な分野のライブラリを自分でコード書いてみる事
当然よく分からないうちはコードは汚い
なのでPEARで同じような分野のライブラリコードを眺めて
どういう構造なのかを調べてみながら自分のコードを書き直す
それの繰り返しで把握していくもんだと思う
いきなりデザパタの勉強とかやってもあんまり意味がない
OOPを理解していく上でどういう局面で
どういうパターンを使ったら良いという事がわからないから
パターンってのは結局ノウハウの事だし
ノウハウってのは必要に応じて生まれて出来上がっていくもんだから
ノウハウ自体を先に説明されてもピンとこないはず
英語は勉強するしかないがまめに単語の意味を引くようにしておけば
文法を正確に理解してなくてもだいたい把握できるようになるはず
ネットならすぐに調べられるんだからそのコストは無駄にはならない
コードは万国共通だ
ごちゃごちゃしてても所詮はPHPのコード、Cやアセンブリじゃない
ゆっくり読んでいけばわかる
小さなライブラリでもよくできてるライブラリはたくさんある
その区別がつくようになっていけば
自ずといいコードも書けるようになるだろう
279nobodyさん
2006/11/30(木) 00:04:08ID:??? オブジェクト指向について語るとき、
「どのような概念か」と「どう使うのか」
を分けないで話すとひどいことになる、
ということだな。
「どのような概念か」と「どう使うのか」
を分けないで話すとひどいことになる、
ということだな。
280nobodyさん
2006/12/02(土) 14:06:00ID:???281280
2006/12/03(日) 01:33:46ID:??? 昨日本を読んでみた。
サンプルコードが載っていて分かりやすかった。
UMLの説明はさすがに他書で勉強しないと、このページ数じゃフォローできんね。
(ないよりましだけど…)
デザインパターンが活用できるようになれば、OOPが楽しくなるだろうなー☆\(^o^)/
サンプルコードが載っていて分かりやすかった。
UMLの説明はさすがに他書で勉強しないと、このページ数じゃフォローできんね。
(ないよりましだけど…)
デザインパターンが活用できるようになれば、OOPが楽しくなるだろうなー☆\(^o^)/
282274
2006/12/03(日) 18:41:26ID:??? 届いたよ!
眠くてまだ読んでない
ちょっと開いたけど
眠くてまだ読んでない
ちょっと開いたけど
283nobodyさん
2006/12/10(日) 19:06:09ID:??? このスレ、
サーバサイドプログラミングでのOOかよ
期待して損した・・・
サーバサイドプログラミングでのOOかよ
期待して損した・・・
285nobodyさん
2006/12/18(月) 23:57:03ID:VHWnyE8e WebObjectsがフリーになるから 勉強しといたほうがいいぜ
286nobodyさん
2006/12/19(火) 09:58:57ID:???287274
2007/01/11(木) 15:28:53ID:??? 半分くらい読んだけど、7章が無いのが残念だった
そこらへんは著者さんのブログやサイトを参考に補完することにしようorz
そこらへんは著者さんのブログやサイトを参考に補完することにしようorz
289nobodyさん
2007/01/21(日) 01:00:05ID:0bZ76xtY PHP5のマニュアル(オブジェクトとクラスの項)とJava入門書を読み始めたばかりなんだけど、
PHP5とJavaのメソッドオーバーロードって全然別物なの?
PHP5とJavaのメソッドオーバーロードって全然別物なの?
290nobodyさん
2007/01/21(日) 01:03:49ID:iXs223c1 スクイークに詳しい人いる?
291nobodyさん
2007/01/21(日) 01:20:02ID:dNBfq9SO >>288 PHPのオブジェクト指向を先に覚えるより、CやVBなどのプログラムを覚えたほうが
組み方は理解できるよ。短時間で
組み方は理解できるよ。短時間で
294nobodyさん
2007/01/21(日) 20:40:37ID:??? なんかPHPerは無条件でオブジェクト指向マンセーしてる奴が多いよな・・・
手続き型の進化系がオブジェクト指向ってわけじゃないからね
手続き型的なロジックが有効なところもあればオブジェクト指向が有効なところもある
俺が確かに言えることは、オブジェクト指向は少なくとも万能ではないってこと
だからオブジェクト指向で書かないとスパゲティになるとかわけわかんないんだよ
むしろオブジェクト指向によって作られたスパゲティの方が多いという現実さえあるのに・・・
手続き型の進化系がオブジェクト指向ってわけじゃないからね
手続き型的なロジックが有効なところもあればオブジェクト指向が有効なところもある
俺が確かに言えることは、オブジェクト指向は少なくとも万能ではないってこと
だからオブジェクト指向で書かないとスパゲティになるとかわけわかんないんだよ
むしろオブジェクト指向によって作られたスパゲティの方が多いという現実さえあるのに・・・
296nobodyさん
2007/01/21(日) 22:02:30ID:dNBfq9SO まぁ考え方が増えたってことでいいんじゃない?
297nobodyさん
2007/01/22(月) 12:52:43ID:??? コードがアチコチに飛ぶって意味では、gotoも多態を使いまくったトリッキーなコードも
スパゲッティには変わりないよ。
スパゲッティには変わりないよ。
298nobodyさん
2007/01/22(月) 22:25:58ID:??? 正直、オブジェクト指向で作られたソースがさっぱり理解できないのだが・・・
もうダメなのかな俺
もうダメなのかな俺
299nobodyさん
2007/01/22(月) 22:58:28ID:??? 何言語でどういう部分が分からないの?
300nobodyさん
2007/01/22(月) 23:42:41ID:??? Javaで作られたCMS。ソースにコメント一切無し。
消えた前担当が全然ドキュメント残してないってのもあるが、Perl使いの俺にはサパーリ。
まぁ何だ、愚痴だ。スマン。
消えた前担当が全然ドキュメント残してないってのもあるが、Perl使いの俺にはサパーリ。
まぁ何だ、愚痴だ。スマン。
301nobodyさん
2007/01/22(月) 23:47:33ID:c6xxxnP6 >>298 これわかる?
Webより抜粋 PHP (編集しました)
******************************************************************************
* class Shopping {
* ク var $item = "コンピュータ"; これがメンバ変数の設定
* var $price = 99800; コンピュータが99800
* ラ ************************************************************************
* function getTotal() {
* ス $tax = $this->price * 0.05;
* return $this->price + $tax; // 税込価格の設定 これがメソッドの定義
* } 消費税の設定と選択した商品に消費税を加える定義
* }
******************************************************************************
$result = new Shopping(); 上記で指定したクラスをnewステートメントを使ってオブジェクトに格納します
$item = $result->item;
print("$item の会計は".$result->getTotal()."円になります\n"); これが表示結果
******************************************************************************
Webより抜粋 PHP (編集しました)
******************************************************************************
* class Shopping {
* ク var $item = "コンピュータ"; これがメンバ変数の設定
* var $price = 99800; コンピュータが99800
* ラ ************************************************************************
* function getTotal() {
* ス $tax = $this->price * 0.05;
* return $this->price + $tax; // 税込価格の設定 これがメソッドの定義
* } 消費税の設定と選択した商品に消費税を加える定義
* }
******************************************************************************
$result = new Shopping(); 上記で指定したクラスをnewステートメントを使ってオブジェクトに格納します
$item = $result->item;
print("$item の会計は".$result->getTotal()."円になります\n"); これが表示結果
******************************************************************************
303nobodyさん
2007/01/22(月) 23:56:53ID:??? VB系のプログラム言語と識別子が逆だからめんどうだよね
304nobodyさん
2007/02/05(月) 10:08:30ID:??? PHP4のオブジェクト指向が中途半端だからいけない
305nobodyさん
2007/02/05(月) 15:03:21ID:??? PHPはオブジェクト指向言語ではありません
306nobodyさん
2007/02/06(火) 00:14:50ID:??? >>305
それだから、PHPでオブジェクト指向はしない...と思っていたんだけど
最近ちょっとずつやってみている。
しかし一番最初に触った言語がPHPだったもんだから、この前
C言語を勉強しているときに「あー、やっぱPHPって気持ち悪いな」って思った。
なんか仕様がグダグダだし、10年くらいすれば忘れられそうだなとか思った。
それだから、PHPでオブジェクト指向はしない...と思っていたんだけど
最近ちょっとずつやってみている。
しかし一番最初に触った言語がPHPだったもんだから、この前
C言語を勉強しているときに「あー、やっぱPHPって気持ち悪いな」って思った。
なんか仕様がグダグダだし、10年くらいすれば忘れられそうだなとか思った。
307nobodyさん
2007/02/06(火) 12:33:16ID:??? 10年後には確実に気持ちいい言語になってるのがPHPだけどな
308nobodyさん
2007/02/06(火) 13:31:27ID:??? それだけは無いな
309nobodyさん
2007/02/06(火) 13:46:07ID:zUpPH+yJ 10年前のPHP3の時は地獄のようでした
310nobodyさん
2007/02/06(火) 18:47:34ID:urembAfZ オブ脳とPHPデザパタを読んでオブジェクト指向というのを実践しようとしたけど、
ちゃんとわかってないからか、酷いスパゲッティーになる気がして途中でやめた。
中途半端なオブジェクト指向を解説してるところはないのかな。
俺の今の思考↓。
クラスのメリット
・関数を纏められるの。
・纏めた関数だけ扱う変数を作れる。
・継承のおかげで、元は残したまま拡張した纏まりを別の場所で使える
ちゃんとわかってないからか、酷いスパゲッティーになる気がして途中でやめた。
中途半端なオブジェクト指向を解説してるところはないのかな。
俺の今の思考↓。
クラスのメリット
・関数を纏められるの。
・纏めた関数だけ扱う変数を作れる。
・継承のおかげで、元は残したまま拡張した纏まりを別の場所で使える
311nobodyさん
2007/02/06(火) 21:26:44ID:??? よし、オブジェクト指向で書くぞ!って書くもんじゃなくて
気づいたら知らぬ間にOOで書いてるもんだ
気づいたら知らぬ間にOOで書いてるもんだ
312nobodyさん
2007/02/07(水) 00:55:11ID:???313nobodyさん
2007/02/08(木) 08:51:12ID:??? 手続き型で書かれたスクリプトをclassで囲んで、
処理を関数で小分けして、例外かましただけ、
みたいなのあるよね
継承、再利用、知るかボケみたいな
俺がまさに今やってることだけど(´・ω・`)
処理を関数で小分けして、例外かましただけ、
みたいなのあるよね
継承、再利用、知るかボケみたいな
俺がまさに今やってることだけど(´・ω・`)
314nobodyさん
2007/02/10(土) 02:36:40ID:??? 他の人はどうか知らんのだけど、俺個人レベルでは
再利用や拡張のためにクラスを書いたり継承したりはあんまりない。
多態性を持たせるための手段として継承させる程度かな。
PHP5時代の本は買ったことないのだけど、PHP4の時代は
継承による拡張ばかり取り上げていて、カプセル化とか多態性の
ことはあまり取り上げられてなかった希ガス。まぁPHPもデザパタが
取り上げられているので多態性については出てくるでしょうけどカプセル化は?
PEARのDB(MDB2)もFetchモードがObjectのとき、StdClassだけじゃなくて
XmlSerializerみたいにクラスを指定できたらいいなと思うのは変?
>>310にあるメリットは、結果であって目的ではないと思う、
と思えるようになった今日この頃w
再利用や拡張のためにクラスを書いたり継承したりはあんまりない。
多態性を持たせるための手段として継承させる程度かな。
PHP5時代の本は買ったことないのだけど、PHP4の時代は
継承による拡張ばかり取り上げていて、カプセル化とか多態性の
ことはあまり取り上げられてなかった希ガス。まぁPHPもデザパタが
取り上げられているので多態性については出てくるでしょうけどカプセル化は?
PEARのDB(MDB2)もFetchモードがObjectのとき、StdClassだけじゃなくて
XmlSerializerみたいにクラスを指定できたらいいなと思うのは変?
>>310にあるメリットは、結果であって目的ではないと思う、
と思えるようになった今日この頃w
315nobodyさん
2007/02/11(日) 02:42:25ID:??? オブジェ糞指向はうんこだな
人類は新しいパラダイムを発明してくてる天才を必要としている
人類は新しいパラダイムを発明してくてる天才を必要としている
316nobodyさん
2007/02/11(日) 05:00:24ID:??? オブジェクト指向はどう見ても最高だろ
317nobodyさん
2007/02/14(水) 02:12:06ID:??? PHPでは、結局、カプセル化、抽象化できる部分をクラスにして、
手続き型の部分から呼び出す方法に落ち着いた
MVCでいうと
Mをクラスで、Cを手続き型で、Vをテンプレートエンジンでやるというのが
わかりやすくてよいと思った。
ポリモーフィズムって、PHPで実現するのが面倒だと思うけど、どう?
手続き型の部分から呼び出す方法に落ち着いた
MVCでいうと
Mをクラスで、Cを手続き型で、Vをテンプレートエンジンでやるというのが
わかりやすくてよいと思った。
ポリモーフィズムって、PHPで実現するのが面倒だと思うけど、どう?
318nobodyさん
2007/02/19(月) 01:18:44ID:??? djangoでいうMVTだな。
319nobodyさん
2007/02/19(月) 01:29:05ID:??? >>314
>継承による拡張ばかり取り上げていて、カプセル化とか多態性の
>ことはあまり取り上げられてなかった希ガス。
そもそも4はメンバメソッド全てがパブリックなんで、
カプセル化の概念自体皆無。
説明しようにも、カプセル化の機能自体が無いので不可能。
>継承による拡張ばかり取り上げていて、カプセル化とか多態性の
>ことはあまり取り上げられてなかった希ガス。
そもそも4はメンバメソッド全てがパブリックなんで、
カプセル化の概念自体皆無。
説明しようにも、カプセル化の機能自体が無いので不可能。
320nobodyさん
2007/02/19(月) 03:34:31ID:??? >>319
言いたいことはわかるけど、概念自体皆無とか不可能ってのは言い過ぎじゃね?
そもそもオブジェクト指向ってオブジェクト単位で独立した存在にするだろ。
だから、カプセル化=独立 であって カプセル化=隠蔽 ではないと思う。
PEARもPrivateメソッドやフィールドは先頭にアンダーバー(_)をつけるなど、
コーディング規約で決めてるわけだし。
もちろん、規約であって言語仕様じゃないから、
簡単にアクセスできて崩壊してしまうがの。
言いたいことはわかるけど、概念自体皆無とか不可能ってのは言い過ぎじゃね?
そもそもオブジェクト指向ってオブジェクト単位で独立した存在にするだろ。
だから、カプセル化=独立 であって カプセル化=隠蔽 ではないと思う。
PEARもPrivateメソッドやフィールドは先頭にアンダーバー(_)をつけるなど、
コーディング規約で決めてるわけだし。
もちろん、規約であって言語仕様じゃないから、
簡単にアクセスできて崩壊してしまうがの。
321nobodyさん
2007/02/19(月) 03:48:01ID:??? カキコ後に読み直して
> カプセル化=隠蔽 ではない
は言い過ぎだったかな。
オブジェクトを独立させる為にカプセル化を行う。
隠蔽はカプセル化を厳密に行う手段(手法)ってことでどぉ。
> カプセル化=隠蔽 ではない
は言い過ぎだったかな。
オブジェクトを独立させる為にカプセル化を行う。
隠蔽はカプセル化を厳密に行う手段(手法)ってことでどぉ。
322nobodyさん
2007/02/20(火) 05:29:07ID:???323nobodyさん
2007/02/20(火) 05:34:26ID:???326nobodyさん
2007/02/20(火) 21:40:15ID:??? おk。次から挑戦してみる。
327nobodyさん
2007/02/20(火) 22:14:00ID:??? それぞれの型クラス作ればいいんじゃね?
328nobodyさん
2007/02/20(火) 22:33:04ID:??? と言いますと?
329nobodyさん
2007/02/21(水) 01:59:11ID:???330nobodyさん
2007/02/21(水) 02:19:36ID:??? type hintingでstringとかintも使えるようにすりゃいいのにな
そんなに難しくもなさそうだし
そんなに難しくもなさそうだし
331nobodyさん
2007/02/21(水) 02:53:14ID:??? phpのtype hintingはでstringとかintも使えるようにって話は時々話題になるけど、もし導入するとしたら、
function hoge(string s) {・・・
っていう定義の関数をhoge(12);で呼び出した場合、エラーにすべき?例外投げるべき?暗黙的にキャストすべき?
function hoge(string s) {・・・
っていう定義の関数をhoge(12);で呼び出した場合、エラーにすべき?例外投げるべき?暗黙的にキャストすべき?
332nobodyさん
2007/02/21(水) 05:54:57ID:??? わざわざtype hintingに記述する=厳格な型を要求してる
と考えられるから
事前にstringにキャストされてたらok
int等ならfatal errorじゃない?
と考えられるから
事前にstringにキャストされてたらok
int等ならfatal errorじゃない?
333nobodyさん
2007/02/21(水) 18:05:58ID:??? オブジェクト指向よくわからんから
とりあえずpearのDB呼んでみる。
とりあえずpearのDB呼んでみる。
336nobodyさん
2007/03/26(月) 00:50:31ID:yFIZR+Qo 例えば掲示板投稿処理で
入力処理
画像処理
ログ処理
表示処理
とかにクラスが分かれている場合、それぞれでオブジェクトを作成するの?
入力処理
画像処理
ログ処理
表示処理
とかにクラスが分かれている場合、それぞれでオブジェクトを作成するの?
レスを投稿する
ニュース
- 【サッカーW杯】絶体絶命の韓国、決勝T進出に暗雲 クロアチア先制…敗退シナリオの可能性高まる [鉄チーズ烏★]
- 【サッカー】「昔のネイマールでしょ」サッカー日本代表・塩貝健人がブラジル戦へ痛快発言…「王国」の印象を問われ ★2 [鉄チーズ烏★]
- 【自維】鮭おにぎり198円に絶望、コンビニすら遠い存在に…「生き延びられない」物価高で広がる生活苦★6 [ひぃぃ★]
- イチロー氏、野球と比べてサッカーが「うらやましい」と語る 「チームのためにという感じが」「野球は個人で成績を出さないとボロカス」 [冬月記者★]
- 【サッカー】日本代表、ブラジル戦でアウェーユニホーム着用へ… FIFAが公式発表 爆売れの白デザイン、W杯で初お披露目! [冬月記者★]
- 中居正広、“気心の知れた仲間とゴルフを再開” 周囲に漏らす「仲間だけで集まれる店でも出したいな」最近はサッカーW杯にも夢中に ★2 [Ailuropoda melanoleuca★]