「メンバ変数」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
 
3行目: 3行目:
 
[[クラス]]の規模が大きくなるとメンバー変数は[[C言語]]の[[グローバル変数]]と何ら変わらない[[副作用]]を持つ。
 
[[クラス]]の規模が大きくなるとメンバー変数は[[C言語]]の[[グローバル変数]]と何ら変わらない[[副作用]]を持つ。
  
また、メンバー変数を利用して「[[隠蔽]]」することで後々「[[階層化の有害性]]」を発現することもある。
+
また、メンバー変数を利用して「[[隠蔽]]」することで後々「[[階層化の有害性]]」を発現することもある。「隠蔽」という考え方は「概念的」および「構造的」にさまざまな利点を持っているが、実装面では層単位で同じような最適化が繰り返し発生することによる無駄な処理が増え、効率的な実装を阻害し、複雑化を招くことがある。また将来的に「隠蔽されたデータ」「低層部分のみに存在するデータ」にアクセスできずに途方に暮れ、トリッキーな解決策に走り、結果としてデスマーチを誘発する。

2020年4月1日 (水) 04:08時点における最新版

メンバー変数英語:member variable)とは、オブジェクト指向におけるインスタンスの内部に保持する変数のことである。プログラミング言語によっては「インスタンス変数」などとも呼ばれる。

クラスの規模が大きくなるとメンバー変数はC言語グローバル変数と何ら変わらない副作用を持つ。

また、メンバー変数を利用して「隠蔽」することで後々「階層化の有害性」を発現することもある。「隠蔽」という考え方は「概念的」および「構造的」にさまざまな利点を持っているが、実装面では層単位で同じような最適化が繰り返し発生することによる無駄な処理が増え、効率的な実装を阻害し、複雑化を招くことがある。また将来的に「隠蔽されたデータ」「低層部分のみに存在するデータ」にアクセスできずに途方に暮れ、トリッキーな解決策に走り、結果としてデスマーチを誘発する。