- - PR -
特集「私がJavaからC#に乗り換えた10の理由」について
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-07-15 11:59
なるほど〜。いまいさん、どうもありがとうございます。 (勝手に私がお礼を言ってしまいますが、)落ち着いてきて、段々とこの会議室の会話も面白く、価値のあるものと感じることができるようになってきました!改めて、C#の持つプロパティとは何か、イベントとは何か・・・、またどの様な考えで用いればよいか、Javaではどうであるかの比較など、非常に有用だと思います。会議室なので、後でこれらの会話をまとめて(これとは別に)、議事録が出せたらすばらしいですよね・・・なんて、誰がまとめるんだろ(笑)。 | ||||||||||||
|
投稿日時: 2003-07-15 12:11
それは、元ネタの記事書いたおじま氏と@ITに言ってください。 #あたしは、たまたま1ゲットしただけなんで。 | ||||||||||||
|
投稿日時: 2003-07-15 12:13
プロパティ、プロパティと、プロパティがよく出てくるの便乗質問(おい)
自分でもよくやり、MSのヘルプでもよく出てくるこんな使い方...
とても無駄、「Public Name As String」にしておけばええやん、 と思ってしまうのですが、プロパティにすることにどういう意味があるのでしょう?? これが頭にあるので以前(2003-07-11 14:59)の 「安易な設定でprivateをpublicにしてしまう「プロパティ」」 という投稿があるのですが・・・ 〜〜〜〜〜 ついでに
言い出しっぺの法則・・・かと(笑) | ||||||||||||
|
投稿日時: 2003-07-15 12:32
無理だろ。脳ミソついていってないもん。 | ||||||||||||
|
投稿日時: 2003-07-15 13:22
こんにちは、Wataです。
私自身はjava信者だと思いますが、いのつち氏の言うようなプロパティの概念的なメリットは確かにありますよね。 逆にプロパティの利便性の説明に次のようなイディオムをよく見かけますが、
これってどうなんでしょう?凄く便利そうに見えるけど、実際にプロパティに対して+=したくなるようなことってそんなにあるのでしょうか?少なくとも今まで私が仕事で作ったプログラムには適応できるところは見当たらないです。 #そういう意味ではまるで、「TVショッピングの高枝切りバサミ」に通じるかも。 | ||||||||||||
|
投稿日時: 2003-07-15 13:27
>Jittaさん
プロパティ(C#)やgetXX,setXX(Java)というのはオブジェクトの外へ提供しているサービスです。 外からはNameという名前(セレクタって言うのかな?.NETの用語かOOの用語か分かりませんが)の「Name属性の値を知ることができるサービス」を提供していると見えます。 外からは、そのサービスを提供しているという仮定の元、オブジェクトにアクセスするコードを書くわけです。 実際の値は string型のフィールドで持っていても、 他の属性の値から生成しても、 関連をもっている他のオブジェクトから引っ張ってきても、 初回はデータベースから取ってきて保存しておき2回目からはその値を返すことにしても、 構わないわけです。 しかし、フィールドにアクセスできるようにしてしまうとオブジェクトの内部構造がが剥き出しになってしまします。 もしNameというフィールドが無くなった場合、あるいは性質が変わった場合、外から見たオブジェクトの仮定も変えなければならないわけです。 別に外からフィールドにアクセスする仕様でも構わないんでしょうが、「オブジェクト指向」的には×です。 買い物をして、「1200円になります」と言われたときに、「じゃ、1200円取って」といって財布を店員に渡さないですよね? | ||||||||||||
|
投稿日時: 2003-07-15 13:52
解説ありがとうございます。 えっと、たぶん、「Name属性の値を知ることができるサービス」っていうのが、 わかっていないようです。 『実際の値は…構わないわけです。』←この辺は、わかるんです。 わかる?わかっているつもり?とにかく、納得できるのです。 また、SetXXXとか、GetXXXとかというのも、カプセル化? 隠蔽するというところでそうするというのも、納得できるのです。 ただ、設定も取得も素通り、、、 というのが、感覚的に納得がいかない。
オブジェクト指向の本で見かける例ですね。あ、、、何となく、納得。 で、相手が例えば嫁はんだと、Friendで宣言してあると・・・ 〜〜〜まとめ失礼
いえいえ、「議事録をまとめて」と、言い出した人・・・ | ||||||||||||
|
投稿日時: 2003-07-15 14:37
>ただ、設定も取得も素通り、、、 >というのが、感覚的に納得がいかない。 C#のプロパティは、Read OnlyやWrite Onlyにもできますけど、そういうことをおっしゃっているのでしょうか? http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbconimplementingpropertiesincomponents.asp > いえいえ、「議事録をまとめて」と、言い出した人・・・ え、私のことですか!?(笑) (私は、いまいさんが誤ってお答えになったのでホッとしておりましたが(笑)) でも、この会議、一体いつ終焉を迎えることやら・・・(国会なら、会期は決まっていますけどネット上では、時間制限もないし・・・)。皆様は、議論すべきネタは尽きたのでしょうか(私個人としては、もっと「J2EE VS .NET」にまで、発展してほしかったのですけども(爆))? #短い夏休みでも使って、「(同じく)ついていってない脳ミソ」を動かしてでもやってみようかな。皆様のご指導を受けつつ・・・。 [ メッセージ編集済み 編集者: Kuolema 編集日時 2003-07-15 14:56 ] |