「コンストラクタ」の版間の差分

imported>Administrator
 
(同じ利用者による、間の2版が非表示)
2行目: 2行目:


== 概要 ==
== 概要 ==
多くのプログラミング言語においてコンストラクターというと「new」というイメージが強いが、メモリ確保とコンストラクターが別々に行われる言語もある。
多くの[[プログラミング言語]]においてコンストラクターというと「new」というイメージが強いが、メモリ確保とコンストラクターが別々に行われる言語もある。
たとえばJavaでは「new」を呼び出すとメモリが確保されるが、コンストラクター実行はその後の最初のオブジェクト利用時となる。
たとえば[[Java]]では「new」を呼び出すとメモリは確保されるが、コンストラクター実行はその後の最初のオブジェクト利用時となる。
<source lang="java">
<source lang="java">
     // メモリ確保のみ
     // メモリ確保のみ
11行目: 11行目:
</source>
</source>


一方でC#では「new」を呼び出すとメモリの確保とコンストラクターの実行が行われる。
一方で[[C Sharp|C#]]では「new」を呼び出すとメモリの確保とコンストラクターの実行の両方が行われる。
見た目が似ていても微妙に挙動が違うので注意しよう。
見た目が似ていても微妙に挙動が違うので注意しよう。