アカウント名:
パスワード:
Java の getうんたらsetうんたらは、一体なんなのであろうか。無意味なコードがただ増えるだけだ。たぶん、アクセサメソッドには、重要な価値があると信じられた時代があったのだろうが、しかし、今となっては、くだらない役立たずなのは明らか。じっさい、今出てきてる新しいプログラミング言語には、そのようなものは無い。
べつに Java で public インスタンス変数使ってコード書いても、コンパイルエラーが出るわけじゃなし。かまやしないのだが、API がそうなってないから、自分のコードだけそうするってのも少し格好わるい。
あるでしょ。C#のpropertyとか。methodに見えないように隠蔽されてるからpublic インスタンス変数にダイレクトアクセスしてるように見えるけど。
言語にそういうくだらないコードを書かなくて済む仕掛けがないのがおかしい。
下らなくないよ。インスタンス内のメモリへアクセスさせるだけじゃなく、アクセスされることに付随する別の処理を行う必要性に対する答えはアクセサを書く以外に無いんだから。アクセサ書く必要が無いのに妄信的に書く必要があると考えてるから書かされてる感が嫌気になってるだけでしょ。
アクセサがくだらないんじゃなくてgetなんたらsetなんたらといちいち書かされることがくだらないと言ってる。
アクセサが必要になるまでアクセサ書きたくくないだけでしょ。Javaなんて捨ててC#使え。
> Javaなんて捨ててC#使え。
つまり「getうんたらsetうんたらをいちいち書かされるJavaはうんこ」ってことだよね。元コメが「public変数使えばいいのに」などとわけのわからない供述をしなければこんなに紛糾することもなかっただろうに。
C#にしたところで、{get; set;}とアクセサかかなきゃいけないんですけどね。C#のほうが書きやすいし、解りやすいから好きですけど。
いや、VBに来てくれPublic Property Hoge As String
すでにほかのコメントでも指摘されてるとおり、追加で処理が必要ないなら書く必要はないし、アクセッサを後から書き足しても呼び出し側のソースに一切変更は必要ないC#のほうがずっとスマート。
後発の言語でスマートな実装がされない方が怖い。
ほとんど全てのケースにおいて、それが分からないから、あれこれ後で変更を入れやすいように仕組みを入れるんであってだな(ry
とはいえ、無駄なget/setが大量に並ぶことは多々あるから、Lombokのアノテーションみたいな仕組みを標準で使えるようにしてほしいとは思うけど。
要するに・・・
・呼び出し側はアクセッサの存在を考えずにa=1とかb=a+1と書いていい。・実際の動作はクラスの中でアクセッサがなければデフォルトアクセッサ(?)みたいな 単に代入するとか参照する動作となり、明示的にアクセッサがあればそれを呼び出す。
って事かな? アノテーションでも使ってうまく定義出来ればよさげではある。
# なんかセキュリティリスクがあるかもしれないけどその辺は全然考慮してません。はい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
言語というよりはAPIの特徴か (スコア:2)
Java の getうんたらsetうんたらは、一体なんなのであろうか。無意味なコードがただ増えるだけだ。たぶん、アクセサメソッドには、重要な価値があると信じられた時代があったのだろうが、しかし、今となっては、くだらない役立たずなのは明らか。じっさい、今出てきてる新しいプログラミング言語には、そのようなものは無い。
べつに Java で public インスタンス変数使ってコード書いても、コンパイルエラーが出るわけじゃなし。かまやしないのだが、API がそうなってないから、自分のコードだけそうするってのも少し格好わるい。
Re: (スコア:0)
あるでしょ。C#のpropertyとか。
methodに見えないように隠蔽されてるからpublic インスタンス変数にダイレクトアクセスしてるように見えるけど。
Re:言語というよりはAPIの特徴か (スコア:0)
言語にそういうくだらないコードを書かなくて済む仕掛けがないのがおかしい。
Re: (スコア:0)
下らなくないよ。
インスタンス内のメモリへアクセスさせるだけじゃなく、アクセスされることに付随する別の処理を行う必要性に対する答えはアクセサを書く以外に無いんだから。
アクセサ書く必要が無いのに妄信的に書く必要があると考えてるから書かされてる感が嫌気になってるだけでしょ。
Re: (スコア:0)
アクセサがくだらないんじゃなくてgetなんたらsetなんたらといちいち書かされることがくだらないと言ってる。
Re: (スコア:0)
アクセサが必要になるまでアクセサ書きたくくないだけでしょ。
Javaなんて捨ててC#使え。
Re: (スコア:0)
> Javaなんて捨ててC#使え。
つまり「getうんたらsetうんたらをいちいち書かされるJavaはうんこ」ってことだよね。元コメが「public変数使えばいいのに」などとわけのわからない供述をしなければこんなに紛糾することもなかっただろうに。
Re: (スコア:0)
C#にしたところで、{get; set;}とアクセサかかなきゃいけないんですけどね。
C#のほうが書きやすいし、解りやすいから好きですけど。
Re: (スコア:0)
いや、VBに来てくれ
Public Property Hoge As String
Re: (スコア:0)
すでにほかのコメントでも指摘されてるとおり、追加で処理が必要ないなら書く必要はないし、アクセッサを後から書き足しても呼び出し側のソースに一切変更は必要ないC#のほうがずっとスマート。
Re: (スコア:0)
後発の言語でスマートな実装がされない方が怖い。
>追加で処理が必要ないなら書く必要はない (スコア:0)
ほとんど全てのケースにおいて、それが分からないから、あれこれ後で変更を入れやすいように仕組みを入れるんであってだな(ry
とはいえ、無駄なget/setが大量に並ぶことは多々あるから、Lombokのアノテーションみたいな仕組みを標準で使えるようにしてほしいとは思うけど。
Re: (スコア:0)
要するに・・・
・呼び出し側はアクセッサの存在を考えずにa=1とかb=a+1と書いていい。
・実際の動作はクラスの中でアクセッサがなければデフォルトアクセッサ(?)みたいな
単に代入するとか参照する動作となり、明示的にアクセッサがあればそれを呼び出す。
って事かな? アノテーションでも使ってうまく定義出来ればよさげではある。
# なんかセキュリティリスクがあるかもしれないけどその辺は全然考慮してません。はい。