0001デフォルトの名無しさん (ワッチョイ cf8f-fy95)2019/04/02(火) 11:23:37.62ID:SQXqRaAc0
そうね、なんか前後に処理を入れるくらいの使い方はある。
でもそもそもその値を使う処理をそのクラスに持たせるのが隠蔽ということだね。
今の仕組み上での利点としては
GetterSetter作ることで
インターフェースに適合させれるようになる
Cは知らん
Cのスレで言っても仕方ないが
オブジェクト指向においてクラス外からフィールドに直接アクセスするのは禁じ手だぞ
getter/setterなんてうざいだけだぜ
メンバ変数直でいいじゃん
>>954
そうそう、だからゲッターは駄目なんだよね。
C++でclassとstructのアクセス範囲が異なる理由がわかってない人が多すぎる。 >>955
お前には一生オブジェクト指向は無理だな まあ、ゲッター使うのはバカ。
データとメソッドを集約しないのはオブジェクト指向ではない。
ゲッターとセッターしかないオブジェクトなんて構造体で充分。
たしかPythonだとgetterもsetterも推奨されてないんだっけ?
0960デフォルトの名無しさん (ワッチョイ 7602-byPh)2019/06/17(月) 02:13:20.34ID:BSqpudUb0
文字列クラスで文字数返すやつなんかはゲッターの一種だが、ああいうのは必用だよな。
文字数指定する事が出来るようにする場合もセッター必用だよな。
問題ないというよりも下手な設計をとりあえずカプセル化する時はラッパー被せて誤魔化すしかない
ラッパーって関数に対して被せるもんだろ?
メンバー変数のラッパーってなんだよ
「メンバ書き換えたから更新よろしくな関数」の呼び出しで
やっと内部状態が変更するようなしくみ?
>>960
ゲッターとセッターは使わないのが主流
とくにゲッターとか名前からしておっかねーだろ 0968デフォルトの名無しさん (アウアウウー Sac7-7DQ/)2019/06/17(月) 12:37:41.39ID:WHxj8IY7a
>>966
え?でも値のセットや取得時に何か処理が必要なやつはゲッターやセッターではないの?
名前がそれっぽくなくて普通のメソッドだったとしても機能としてはそうなるよな。 >>968
だから、何故値を取得する必要があるのかと 値を取得する必要ガーとか馬鹿なのか?
主要言語の標準ライブラリにGetterを含まないクラスとかまず無いぞ
>>970
引数のvoid見たこともないのによくそんなこと言えるな… 0972デフォルトの名無しさん (アウアウウー Sac7-7DQ/)2019/06/17(月) 13:33:44.73ID:WHxj8IY7a
>>969
例えばファイルデスクリプタのようなものもそのデスクリプタによって識別されるファイルに関する情報の読み書きをするオブジェクトと言えるが、それ使ってファイルのバイト数を取得するとかデータを読み書きするとか、普通にやるよね。 >>968
そのオブジェクトの中で密接にデータと関連する処理だったらゲッターは使わんでしょう。this->hogeを直接使うだけ。
あとたぶんあなたの場合はセッターゲッターの神髄を知らんと思う。単に構造体のメンバーにアクセスするだけのメソッドをイメージしてもらえれば。 同一インスタンス内なら余計なことしなくても直接アクセスできる
セッターゲッターは他のインスタンスの変数にアクセスするための手段
オブジェクト間のメッセージパッシングにセッターやゲッターを利用する
0978デフォルトの名無しさん (アウアウウー Sac7-7DQ/)2019/06/17(月) 14:41:55.67ID:WHxj8IY7a
>>974
あー。それでもリードオンリーにしたい時に言語にその機能がないならゲッターだけ作るよね。
Kotlinの場合はvalで済んじゃってしかも自動でゲッター作られてるけど。
で、真髄って何? >>978
リードオンリーとか言わず、読ませなきゃいいじゃん 0980デフォルトの名無しさん (アウアウウー Sac7-7DQ/)2019/06/17(月) 15:49:21.53ID:WHxj8IY7a
>>979
上で書いた文字列クラスの場合の文字数とかファイルのバイト数とか、外部から読めないとまずいものがあると思うんだが。 >>980
たとえばstd::stringのメソッドでgetってついてるのget_allocatorとgetlineくらいだよね。setなんてないし。
ゲッター感のあるやつ無くない?要らないのでは? メンバー変数はreadonlyなどの属性ではなくてprivateアクセス権限を設定して他オブジェクトから隠蔽するのが一般的
なんでC++とかいう後付けのオブジェクト指向もどき言語で延々と語ってるんだろうか…
>>983
そりゃもう、javaについで保守的だから。
他の意識高い感じの言語だとゲッターセッターなんて発想はありえないでしょ。 >>984
保守的?単なる継ぎ接ぎの欠陥言語だぞ
C#だとプロパティで隠蔽されてるが結局はGetter/Setterだな >>985
つまり、Cの構造体アクセスは実質ゲッターセッターだという主張か? >>987
引数void馬鹿を馬鹿にしてんだよ。わからんか? 0990デフォルトの名無しさん (アウアウウー Sac7-7DQ/)2019/06/17(月) 18:24:49.71ID:3L1/L9kLa
>>981
うーん。C++のクラスで喩えられてもすがわからんなあ。C++この頃全然やってないし。
昔ちょっとC++Builder使ったことあるがDelphiの延長線上の使い方しかしなかったし。
とりあえずJavaで言うとそれは何にあたるんだ?
Kotlinでもいいぞ。 0991デフォルトの名無しさん (アウアウウー Sac7-7DQ/)2019/06/17(月) 18:26:16.26ID:3L1/L9kLa
すが、じゃねえ、すぐだ。
スマホだと間違いが変になるな。
0992デフォルトの名無しさん (アウアウウー Sac7-7DQ/)2019/06/17(月) 18:28:01.53ID:3L1/L9kLa
>>992
>>2-3 あたりの
「次スレを作るときは…」の説明を書き足さなくて良いのかしら?
自分、その辺の正しい立て方を知らず下手に書き加えられないので指摘だけ。 IDを非表示にする場合
!extend:none::1000:512
IDを表示し、強制コテハンは表示しない(5ch標準設定と同じ)
!extend:checked::1000:512
IDを表示し、IPアドレスを表示
!extend:checked:vvvv:1000:512
IDを表示し、強制コテハンを表示
(レスの名前欄に「ワッチョイ」「スプー」「ササクッテロ 」などのニックネームがつく)
!extend:checked:vvvvv:1000:512 ← 今はこれ
IDを表示し、IPアドレスと強制コテハンを表示
!extend:checked:vvvvvv:1000:512
RONIN使えばまた表示を消せるので、強制とは言いがたいが
ああワッチョイ消してる奴ってRONIN使ってるのか
知らなかったな
>>995
RONIN 餅ですがワッチョイの消し方がわからないのです、消すつもりもないのですが… 名前欄に!slip:verboseじゃないの?
コテハンとかはどうなるかまでは知らないけど
>>945
そんなことはどうでもいい
C99ではどうたらを早く説明しろ
逃 げ ん な こ ら ! 10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 76日 10時間 6分 21秒
10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php