[過去ログ]
スレ立てるまでもない質問はここで 165匹目 (1002レス)
スレ立てるまでもない質問はここで 165匹目 http://mevius.5ch.net/test/read.cgi/tech/1687260267/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
415: デフォルトの名無しさん (ワッチョイ 5f02-l3dD) [sage] 2024/01/25(木) 20:32:21.74 ID:eMxFxiwX0 あるクラスにインスタンス変数が10個あります コンストラクタでインスタンス変数が固定値を基に初期化されて、インスタンス化していろんな処理で弄った後で そのうち6個を初期値(コンストラクタで初期化したのと同じ値)に戻したいです 最初は戻し用のクラス関数に固定値を用意してインスタンス変数に与えていましたが この方法だと修正箇所がコンストラクタとクラス関数の二か所になるので面倒なので 素人なりに考えた解決方法は2つです 1つ目は、戻し用のクラス変数を用意して、それを基に戻します この方法だと、ほぼ同じ名前の変数が最大2倍に並んで辛い気がします 2つ目は、戻し用のインスタンスを作って、それのインスタンス変数の値を基に戻します この方法だと、必ず1つ余計なインスタンスが作られて無駄に感じます どちらにするかは決めかねています これまでは戻す必要がない変数はコンストラクタに当たる関数で初期化し 戻す必要がある変数はコンストラクタと戻し用関数を兼ねた関数で初期化+戻していました クラスを使うのは初めてなので、こういうことをやりたい時に標準的な方法が知りたいのですが ググっても「インスタンス化時に初期化するならコンストラクタを使え」という記事しかでてきません インスタンス化後に初期化する一般的な方法を教えてください http://mevius.5ch.net/test/read.cgi/tech/1687260267/415
416: デフォルトの名無しさん (ワッチョイ 87ba-h2t9) [sage] 2024/01/25(木) 20:50:40.72 ID:v9qGXmXI0 >>415 初期値にする(インスタンス)メソッドをつくる コンストラクタ内からメソッド呼べる言語ならそうする 出来ないならインスタンス化直後に初期化メソッドを呼ぶ作法にする 勝手なルールだけど常套句なので違和感はない http://mevius.5ch.net/test/read.cgi/tech/1687260267/416
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.043s