[過去ログ] クラス名・変数名に迷ったら書き込むスレ。Part28 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
571
(2): 2019/01/17(木)15:59 ID:LP4V/wDK(1/3) AAS
>>521
今更だけど
オブジェクトそのもの(あるいは一部)を初期化するメンバ関数は基本的にPublicになることはないかなって話
例えば、init()、update()、final()ってメンバ関数があったとして
init()→update()→final()の一連の流れをオブジェクト利用者に約束事として強要しちゃうわけよ
final()で一旦終えた後に、init()せずにupdate()しちゃったらオブジェクト内部がおかしな状態になるかも知れない
じゃあ、final()の中でinit()しちゃえばいいよねってなるけど、final()(init実行)→init()って無駄なことをされてしまう
そうするとinit()が邪魔になり、コンストラクタ内でinit()を呼んで、利用者に好きなだけupdate()させて
final()(init含む)で結果を受け取ってもらった方が分かりやすいよね
利用者が「この処理やーめた」って出来るようにオブジェクトそのものを初期状態へ戻すreset()のメンバ関数を
省5
575
(1): 2019/01/17(木)21:36 ID:LP4V/wDK(2/3) AAS
>>572
>final()はデストラクタで呼び出せば良い
ああごめん、それらのメンバはオブジェクトを構築破棄する意味合いが強いものじゃなく
そのオブジェクトの目的を処理する意味でのinit()とfinal()
例えば、ハッシュ関数、データを繰り返しupdate()してその処理を終わらせるfinal()
final()はハッシュ値を返すみたいな

>コンストラクタ/デストラクタを持ってない言語なら~
そりゃそうだ

>そもそも再利用しないならそのinit()は無駄だし
その対比として再利用するreset()メンバ関数を例に出したんだけどね
省3
576
(1): 2019/01/17(木)21:46 ID:LP4V/wDK(3/3) AAS
>>574
スナップショットって「ここで記録を残したい!」って、それを取り扱う側の任意が強いよね
変化したポイントを必ずしも残したいとは限らないからちょっと違うイメージだな
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s