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