C#って死滅する理由がないよね! Part4
■ このスレッドは過去ログ倉庫に格納されています
0295デフォルトの名無しさん
NGNGおれもそう思った。
Java的なやりかたはJNIを使って
Javaとポインタ演算をバリバリに使うコードとをはっきりと分離させて
すっきりさせたシンプルな仕様としてC#よりも優れていると思うのだ。
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_で命名)扱えば済む。
■ このスレッドは過去ログ倉庫に格納されています