5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

プロパティがないJavaはJavaScript以下

1 :デフォルトの名無しさん:03/07/24 00:32
なんでJavaにはプロパティが無いのですか?
しかもパブリックメンバを作らないで
getter、setterメソッドを作れって主張していますね。
そのせいでUMLで設計したプロパティをコードに置き換えると
メソッドになるのはマヌケですね。
JavaScriptにさえプロパティはあるのに
JavaはJavaScriptにまで劣るとしか思えませんね。

2 :デフォルトの名無しさん:03/07/24 00:42


ところでさぁ、「○○以上でも、○○以下でもない」っていう台詞よく聞くんだけど

それだったら存在すらできないじゃん?どうよ?

3 :デフォルトの名無しさん:03/07/24 00:50
>>1
JavaAPI のカバー範囲>>>>>>>>>>>>JavaScriptのそれ

終了。

4 :デフォルトの名無しさん:03/07/24 00:51
確かに OO で設計してると property ほしくなるよなー。
getter/setter にプロパティ変更通知付けたりするとすごい勢いで
行数増えちまう。まぁ作るだけなら Excel とかで出力ツールでも
作れば良いんだけど、コードの可視性悪いし javadoc も読みづらい。
かといって HashMap 化するのも馬鹿げてるし。

5 :デフォルトの名無しさん:03/07/24 00:52
おまえら、IDEくらい使えよ。

6 :デフォルトの名無しさん:03/07/24 01:01
>>5
IDE が糞コード吐き出す罠

7 :デフォルトの名無しさん:03/07/24 01:03
プロパティとパブリックメンバは何が違うのですか?

8 :デフォルトの名無しさん:03/07/24 01:04
>>6
setter、getterの糞コードってどんなんだよオイ。

9 :7:03/07/24 01:06
あ、今はじめて知りました。失礼。
BASIC の、突如現れる変数定義みたいなもんですか。

10 :デフォルトの名無しさん:03/07/24 01:12
プロパティーを有効に使った
コードの例を見たいんだけど、
誰か作って。

11 :デフォルトの名無しさん:03/07/24 01:24
といことは

D e l p h i

が最強ってことですね。

12 :デフォルトの名無しさん:03/07/24 01:30
>>7
外部からのアクセス時に、もしその必要があれば、クラス自身の
責任範囲で各種処理を記述できます。
setterがコールされてプロパティが変更された時に、イベントハ
ンドラへの通知などは、良くやることですよ。
例えば、SwingのsetterメソッドにはPropertyChangeListener
への通知が頻出します。

13 :デフォルトの名無しさん:03/07/24 01:34
それなら、setter に入った後において、
イベントの通知タイミングを緻密に設定できる方が優れてると思うんですが。
同期化やら遅延呼び出しやら。
あるいはよその輩を呼びたくないときに protected や private な別の setter を使うとか。

14 :デフォルトの名無しさん:03/07/24 01:35
>>13
知障

15 :デフォルトの名無しさん:03/07/24 01:35
>>13
そう実装すればいいだけです。そのクラスの実装に責任がある人間が、
好きに実装してください。

突っ込みの意図がわかりません。

16 :デフォルトの名無しさん:03/07/24 01:50
幼い者を捕まえて知障だなんて哀しすぎる

17 :デフォルトの名無しさん:03/07/24 02:00
Javaってもうすぐプロパティサポートするんじゃなかったっけ?

俺はsetter/getterで充分だと思うんだけど
ごちゃごちゃ機能増やしてほしくねーなぁ

18 :デフォルトの名無しさん:03/07/24 02:06
>>2
以上と以下の定義を調べてから書き込めよ。

19 :デフォルトの名無しさん:03/07/24 02:10
> Javaってもうすぐプロパティサポートするんじゃなかったっけ?


20 :デフォルトの名無しさん:03/07/24 02:13
>>18
お前がな
より大きい、より小さいと混同してないか

21 :デフォルトの名無しさん:03/07/24 02:40
先生「いいか。おまいら。
  Javaは、Javaであり、それ以上でも、それ以下でも、無いからな〜。
  ココ、試験に出るから、良く憶えておけ〜。」
生徒A「はい、Javaなんて、存在しないも同じって事でしね」
先生「おまいだけは、オブラートに包むって事も憶えておくように。」

22 :デフォルトの名無しさん:03/07/24 08:21
特に Java はスレッドを強く意識した言語設計であるわけで
「アトミックに実行」とか言うのが重要視されてませんでしたっけ?
 object.property = value;
とか書くと,メンバ変数 property に value を代入するのが
アトミックに実行できるように思えてしまうけど,
実は裏で setter が走ってるとか泣くっしょ。
同様の理由で
 object.getA().getB().doMethod();
みたいなコードも嫌われるって聞いた事あります。
てか,すいません。あんまし自信ないんでツコミ希望。

23 :デフォルトの名無しさん:03/07/24 10:36
なんでJavaScriptはプロパティを導入しちゃったんだろう。
裏切り物め。

24 :デフォルトの名無しさん:03/07/24 10:40
>>22
 object.property = value;
とかいてもアトミックに実行できるとは限らない罠

25 :デフォルトの名無しさん:03/07/24 11:49
夏厨の季節だと思うと物悲しいよ

26 :デフォルトの名無しさん:03/07/24 11:57
だいたいJavaScriptなんて名乗るな
Javaと無関係だろ!

27 :デフォルトの名無しさん:03/07/24 13:31
関係なかったらJavaScriptって名のっているわけ無いだろ!!

28 :デフォルトの名無しさん:03/07/24 13:42
JavaScriptって名前にしたのはマーケティング上の理由かららしいよ

29 :デフォルトの名無しさん:03/07/24 13:55
>>28
それを真似てC#はCという文字を入れているわけか。

30 :デフォルトの名無しさん:03/07/24 13:56
>>27みたいな無知な奴が本屋をやると、
二つの参考書は混同する。

31 :デフォルトの名無しさん:03/07/24 14:56
何も言わずにLiveScriptって名前に戻してくれ

32 :デフォルトの名無しさん:03/07/24 15:01
JavaScriptだろうがLiveScriptだろうが
Javaはそれよりも劣るわけで。

33 :デフォルトの名無しさん:03/07/24 15:54
Javaはどーでもいーけど、信者がウザッ

34 :デフォルトの名無しさん:03/07/24 17:47
>>33
乏しい知識をJava使いに突っ込まれて
痛い目にでも遭ったんですか?w

35 :デフォルトの名無しさん:03/07/24 17:57
Java信者ハッケソw

36 :デフォルトの名無しさん:03/07/24 17:58
Macといい、Javaといい、マイノリティってやつはどうしてこう(ry

37 :デフォルトの名無しさん:03/07/24 17:59
>>34は乏しい知識をJavaScript使いに
突っ込まれて痛い目にあったようだね。

38 :デフォルトの名無しさん:03/07/24 18:00
>>36
天才なんだ。ですね?

39 :デフォルトの名無しさん:03/07/24 18:18
プ

40 :デフォルトの名無しさん:03/07/24 18:18
>>30
いや、実際混ぜて置いてある書店多いよ

>>29
C++
++

41 :デフォルトの名無しさん:03/07/24 20:44
>>34は乏しい知識をMac使いに
突っ込まれて痛い目にあったようだね。

42 :デフォルトの名無しさん:03/07/25 17:33
まー、生業にしないのなら
CとかJavaとか必要ないでしょ

必要だ!と言う人がいたら
その人に聞きたいね、
あんた、いったい何を作るのかと



43 :22:03/07/25 19:56
>>24
ツッコミングありがとう。
てか,後ろで setter が走るようなプロパティじゃなくて
ただの変数に代入する操作でも,アトミックに実行できるとは限らないって事すか?
# 必殺,スレ違いsage

44 :デフォルトの名無しさん:03/07/26 05:40
>>43
そうだよ。スレッドコンテキストはワード単位で切り替わる。
long 値の上位 32 ビットだけ代入された状態でスレッドが切り替わるかも知れない。
参照型の代入もしかり。

ていうかアトミック性の保障は synchronized だけで、その他の命令では保障なし
という仕様だったと思うが実際のインプリはどうなっとるのか知らん。

… これ SMP の話だったかな?

45 :デフォルトの名無しさん:03/07/26 12:40
>>44 超絶技巧レスポンスありがとう。
勉強になりますた (´人`) スタ

46 :デフォルトの名無しさん:03/07/26 23:51
>>44
volatile修飾子付のインスタンス変数への操作は、保証されているん
じゃなかったっけ?
操作の中間でのコンテキストスイッチを許さないうえに、スレッド単位
でのJVMメインヒープに対するキャッシュを所有することも許さないと
いう修飾子。
単純な変数へのset操作が競合するかもしれないなら、volatileでオッ
ケっすよ。

47 :デフォルトの名無しさん:03/07/28 08:48
全部にvolatileをつけろってか?
変な使い方をするなよ。

48 :デフォルトの名無しさん:03/07/29 09:09
Javaの限界が垣間見えますた

49 :デフォルトの名無しさん:03/07/30 00:43
>>4
> 確かに OO で設計してると property ほしくなるよなー。
> getter/setter にプロパティ変更通知付けたりするとすごい勢いで
> 行数増えちまう。まぁ作るだけなら Excel とかで出力ツールでも
> 作れば良いんだけど、コードの可視性悪いし javadoc も読みづらい。
> かといって HashMap 化するのも馬鹿げてるし。


>>4はオブジェクト指向の真意を理解していないと見た。
C#かVBでVS.NETでマウスでGUI部品を馬鹿みたいに追加しすぎて
ソースコード内にひとつのクラス内にプロパティ使いすぎて数百もの
プロパティに怯んで愚痴っている模様。

>>4はもっとオブジェクト指向を勉強してから発言すべき。

50 :デフォルトの名無しさん:03/07/30 00:45
>>26
> だいたいJavaScriptなんて名乗るな
> Javaと無関係だろ!

ECMAScriptと名乗ればよし。
ECMAで標準化されているから

51 :デフォルトの名無しさん:03/07/30 00:58
C#にプロパティは反って糞な仕様にみえるとは思わないか?

X x = new X();
x.a = 1;

ときたら

Xのソースは
class C {
 public int a;
//省略
}

となっていると勘違いしそうで不便なのだが。
素人にソースコード書かせるとこの区別がつかなくなりウザイのだが。

一見便利そうで便利でない、応用範囲が限定された糞仕様だわこいつは。



ということで>>1はドキュソ確定。

52 :デフォルトの名無しさん:03/07/30 01:06
>>51
勘違いするまでもなく、aはプロパティにしておくのが基本なのれす。

53 :デフォルトの名無しさん:03/07/30 09:38
>>52==そうなってない標準クラスのソースを見たことがない奴。

54 :デフォルトの名無しさん:03/07/30 12:44
>>49 = 業務開発経験のない学生

55 :デフォルトの名無しさん:03/07/30 23:07
>>51
所詮あんたの低い基準での話なんだよね。
オーバーロードとかアスペクト指向とか
見た目でコードが一つだと勘違いして使いこなせそうだな。

C++では::と->と.がJavaでは全部.なのだがそれも.がきたら
class C {
 public int a;
//省略
}
となっていると勘違いしそうで不便だとか言っているだろ。

56 :デフォルトの名無しさん:03/07/30 23:32
素人に書かせたら言語によらず糞コードが出来上がるだろ

57 :山崎 渉:03/08/02 02:13
(^^)

58 :超初心者:03/08/06 07:41
ゲッター、セッターてなんですか?
アクセサメソッドとどう違うのですか?

59 :デフォルトの名無しさん:03/08/06 07:41
age

60 :デフォルトの名無しさん:03/08/06 08:06
ゲッターロボ


61 :_:03/08/06 08:10
http://homepage.mac.com/hiroyuki44/hankaku02.html

62 :_:03/08/06 08:14
http://homepage.mac.com/hiroyuki44/

63 :デフォルトの名無しさん:03/08/06 08:16
なんか、VB(Delもそうだけど)のプロパティが
publicなインスタンス変数に直接アクセスすることの様に、
書いているが、全く勘違いもいいとこ。

きちんと、プロパティメソッドというのがあり、
それを2種類(Javaのsetter,getterに相当する)
定義するように(読みとり専用は1種類)なっている。


64 :デフォルトの名無しさん:03/08/06 08:20
>>60
ありがとうございます。ゲッターは分かりました。
あと、セッターが分からない・・・(泣)

65 :デフォルトの名無しさん:03/08/06 08:58
>>64
おらよ。
ttp://www10.ocn.ne.jp/~tabuttie/page010.html

66 :JT・ロシュ買っとけ:03/08/06 11:30
ゲッタァァァァァ!!トマホゥゥゥゥゥゥゥク!!

67 :デフォルトの名無しさん:03/08/06 12:40
ttp://www.amazon.co.jp/exec/obidos/ASIN/4104590010/qid%3D1053612655/sr%3D1-4/ref%3Dsr%5F1%5F2%5F4/249-7145535-9617954

68 :デフォルトの名無しさん:03/08/06 15:15
この場合頭脳はストラテジィと訳すべきだと考える。

69 :デフォルトの名無しさん:03/08/06 16:35
>>54
>>54==>>4はC#が業務開発専用と思い込んでいる高校生。

70 :デフォルトの名無しさん:03/08/06 17:19
Delphi>>>>>>>>>>>>>>>>>>>>>javascript>>java>=その他

71 :デフォルトの名無しさん:03/08/06 18:39
>>69
と思い込んでるわけですね :-P

72 :デフォルトの名無しさん:03/08/06 20:41
>68
超訳にツッコミを入れても。。。


73 :デフォルトの名無しさん:03/08/07 01:43
Del厨が一番悲惨な存在だしなw

74 :デフォルトの名無しさん:03/08/09 11:29
C#のプロパティ
一見便利そうに見えても、思わぬ不便な落とし穴にはまることがあったりする。

たとえばNameというプロパティを定義すると
Get_Name, Set_Nameというメソッドを作ることができない。
作るとエラーになる。

あるいは、set/getキーワードを使いたくない場合は、
メソッド名の頭にGet_, Set_を使わなければならない。
その辺りの制限はJavaのsetter/getterメソッドの命名規則と変わらない。

この程度ならまあどうでもいいかもしれない。
しかし、これはどうだろう。

C#で不変クラスを作りたいとき、お前らはどうする?
わざわざプロパティを使うか?

C#のプロパティを不用意に使うと、一部のプロパティ変数を
不変にすることがJava程容易ではなくなるのだ。

Javaでは不変にするためにsetterメソッドを定義しない、フィールドをprivate,
クラスをfinalにするだけで済む。

C#でも、プロパティの使用をやめ、
Javaと同じように(C#ではGet_/Set_で命名)扱えば済む。

75 :デフォルトの名無しさん:03/08/09 11:30
C#マンセーな信者の中にはJavaのget/set命名規則を気に入らないものとして
わざわざプロパティを使いたがる者がいるようだが、
プロパティを使ったクラスを不変にするためにJavaよりも面倒なことをしなければならない。
C#は、クラスにプロパティを定義するとそのクラスはデフォルトで可変クラスに
なってしまうという欠点を持っているのだ。
ある方法を使ってsetterの使用を禁止しないといけないのだ。

この事実を初めて知ったときは、C#とはなんて中途半端な仕様なのだと思ってしまった。
C#はなんともオブジェクト指向らしさを欠いている。

76 :デフォルトの名無しさん:03/08/09 13:28
>>74
ひどすぎC#






じゃなくてあんたの理解が。

77 :デフォルトの名無しさん:03/08/10 03:45
つまりDelphiが素晴らしいと?

78 :デフォルトの名無しさん:03/08/10 03:56
>>74
> たとえばNameというプロパティを定義すると
> Get_Name, Set_Nameというメソッドを作ることができない。
> 作るとエラーになる。

IL的にはGet_Name, Set_Nameなのでプロパティをサポートしない言語のために、
そしてECMA標準に従って1.1でエラーになるように修正された。

> あるいは、set/getキーワードを使いたくない場合は、

使いたくない場合ってなんじゃそりゃ?

後半はデタラメすぎて略。


79 :デフォルトの名無しさん:03/08/12 10:54
>>78
不変クラスというものをご存知かね?

80 :デフォルトの名無しさん:03/08/12 23:22
get だけで set がないプロパティは作れるだろ?

81 :山崎 渉:03/08/15 15:58
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

18 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)