- 1 : 2022/01/09(日) 12:51:00.515 ID:UhI+ndAf0
- オブジェクト指向なんだからメソッド名の主体が外部なのはおかしい
カプセル化考えるとsetterでフィールドをコロコロ弄れるのは良くない - 2 : 2022/01/09(日) 12:52:08.873 ID:j3Qc2XSA0
- ポリモーフィズム勉強しろ
- 3 : 2022/01/09(日) 12:53:26.353 ID:ydqtR7nqa
- setterとgetterなんとなく作ってるけど作って良かったシーンに出くわしたことがない
- 4 : 2022/01/09(日) 12:54:14.092 ID:vMaeKkVL0
- >>3
使う理由わかってる? - 6 : 2022/01/09(日) 12:54:51.240 ID:ydqtR7nqa
- >>4
多分わかってないから出くわしてないんだろうな
教えてくれ - 10 : 2022/01/09(日) 12:59:36.131 ID:vMaeKkVL0
- >>6
外部から直接変数を操作させないため - 14 : 2022/01/09(日) 13:03:27.030 ID:ydqtR7nqa
- >>10
外部から直接変数を操作されることで困ったことがないんだよね
どんなパターンが該当するの? - 18 : 2022/01/09(日) 13:08:47.225 ID:wybVjFgTM
- >>14
あとからも変更は許可するが、内部で持つ値は所定の形式で持ちたい場合など。setterでに渡された引数でオブジェクトインスタンス作ってそれをフィールドに持たせるとか。
- 21 : 2022/01/09(日) 13:15:51.043 ID:50/f/efX0
- >>18
なんでそんな変数にsetterとgetterつけるの? - 31 : 2022/01/09(日) 13:43:49.186 ID:ydqtR7nqa
- >>18
逆にそういう値を複数の値で管理しない理由がよくわからないんだよな
setterの中でオブジェクトインスタンス作るのなんかそれこそ意図しないインスタンス生成増えそうだしセットしたあとに明確なメソッド用意したほうがスッキリしないかな
自分だけなのか - 33 : 2022/01/09(日) 13:49:32.121 ID:3Hwih0xA0
- >>18
C#だけどgetterはパブリック、setterは privateにしたところ、シリアライズ出来なくて最近困ったんだよね。
オブジェクトをカプセル化したいんだけどシリアライズできない矛盾の解決方法を教えて - 35 : 2022/01/09(日) 14:09:05.363 ID:ounLAhr7r
- >>33
シリアライズ専用のクラスを作る - 5 : 2022/01/09(日) 12:54:20.350 ID:nZczLdF10
- ポリリズム
- 7 : 2022/01/09(日) 12:55:53.388 ID:1Ee9ughU0
- 理想はsetterつかわずにコンストラクタで済ませるで合ってる?
- 8 : 2022/01/09(日) 12:58:22.692 ID:5XeZUUWVM
- オブジェクトだから外部出力があるんだろしらんけど(´・ω・`)
- 9 : 2022/01/09(日) 12:58:27.906 ID:umKzzFny0
- あとで初期化処理とか追加したくなるかもしれないし意味はあるだろ
- 11 : 2022/01/09(日) 13:01:27.269 ID:UhI+ndAf0
- >>9
初期化はコンストラクタで全部行うのが原則やぞ - 19 : 2022/01/09(日) 13:10:13.967 ID:umKzzFny0
- >>11
メモリ不足が深刻になってオブジェクト再利用する構造にしようってなったときにクリア処理とかどうすんの? - 20 : 2022/01/09(日) 13:11:32.190 ID:nZczLdF10
- >>19
リサイクル業者クラスが居るんじゃね? - 12 : 2022/01/09(日) 13:01:59.169 ID:mq4dTWHG0
- 初期化関数 initとかじゃあどうするの?(´・ω・`)
- 13 : 2022/01/09(日) 13:02:37.349 ID:nIlawj/R0
- 外からどう見えるかは気にするけど
それが内部と1対1でそのままだったとしても気にしない - 15 : 2022/01/09(日) 13:03:44.898 ID:BsDh+h4U0
- ゲッターセッターは一回も使ってないわ
どこで使うの? - 16 : 2022/01/09(日) 13:06:06.368 ID:nIlawj/R0
- >>15
あとで直接操作して大丈夫だろうか?って不安になりそうなとこ - 17 : 2022/01/09(日) 13:06:18.360 ID:mq4dTWHG0
- そういえば Global Descriptor Table ってパーミッションのことになるんか?(´・ω・`)
- 22 : 2022/01/09(日) 13:20:11.815 ID:ounLAhr7r
- 公式のクラスライブラリ見てこういう値にはsetterつけてこういうのにはつけないんだなって学習してる
Javaとかいうクソ言語じゃ無理だろうけど - 23 : 2022/01/09(日) 13:23:18.915 ID:vMaeKkVL0
- まあセッターゲッターは使うべきじゃないって言う意見もあるし色々考え方があるから難しいね
- 24 : 2022/01/09(日) 13:26:35.055 ID:mXiVwAe30
- ゲーム作ってるとセッタゲッタ祭りだぞ
- 25 : 2022/01/09(日) 13:27:52.856 ID:vMaeKkVL0
- 最近使ってないから例出しづらいけど例えば親クラスにセッター用意しといてそれを継承したクラスからじゃないとセット出来ないとかかな
- 29 : 2022/01/09(日) 13:42:03.121 ID:50/f/efX0
- >>25
代入するだけなのにsetterなんで作るの - 26 : 2022/01/09(日) 13:32:31.849 ID:QZbj7ZXO0
- パブリックにすべきだよな
- 27 : 2022/01/09(日) 13:37:07.361 ID:q9q01umZ0
- あとから使い回せる部品としての class を作ったことがないから使いどころが解らないと言い出す
- 28 : 2022/01/09(日) 13:37:39.125 ID:LK7apWAB0
- Java使いならlombokで解決しようぜ
- 32 : 2022/01/09(日) 13:45:19.358 ID:nZczLdF10
- インターフェイス継承
- 34 : 2022/01/09(日) 14:06:22.541 ID:ounLAhr7r
- >>32
インターフェース実装な - 36 : 2022/01/09(日) 14:52:46.718 ID:lx/hEYtKr
- 肥満は万病 の元
- 37 : 2022/01/09(日) 14:55:09.678 ID:BV2z7taUM
- 権限なんてアノテーションで良かったんじゃね
コメント