差分
ナビゲーションに移動
検索に移動
コンストラクタ
,ページの作成:「'''コンストラクター'''(英語:constructor)とは、建築業という意味であり、転じてオブジェクト指向プログラミング言語...」
'''コンストラクター'''([[英語]]:constructor)とは、建築業という意味であり、転じて[[オブジェクト指向プログラミング言語]]におけるオブジェクト生成時の初期化を行うメソッドを指す。けっして[[ITドカタ]]そのものを指す言葉ではない。なお「コンストラクタ」と[[長音]]を伸ばさない表記をたたみ受けるが、内閣告示に従えば長音を伸ばす表記が正しい日本語表記となる。
== 概要 ==
多くのプログラミング言語においてコンストラクターというと「new」というイメージが強いが、メモリ確保とコンストラクターが別々に行われる言語もある。
たとえばJavaでは「new」を呼び出すとメモリが確保されるが、コンストラクター実行はその後の最初のオブジェクト利用時となる。
<source lang="java">
// メモリ確保のみ
MyClass obj = new MyClass();
// new直後の初回利用時にコンストラクター実行され、その後sayHelloが呼ばれる
obj.sayHello();
</source>
一方でC#では「new」を呼び出すとメモリの確保とコンストラクターの実行が行われる。
見た目が似ていても微妙に挙動が違うので注意しよう。
== 関連項目 ==
* [[ダブル・チェック・ロッキング]]
* [[Xamarin.iOS/iOSデザイナーでカスタムコントロールを使用する]]
* [[Xamarin.Mac/カスタムコントロールを使用する]]
== 参考文献 ==
{{reflist}}
{{stub}}
== 概要 ==
多くのプログラミング言語においてコンストラクターというと「new」というイメージが強いが、メモリ確保とコンストラクターが別々に行われる言語もある。
たとえばJavaでは「new」を呼び出すとメモリが確保されるが、コンストラクター実行はその後の最初のオブジェクト利用時となる。
<source lang="java">
// メモリ確保のみ
MyClass obj = new MyClass();
// new直後の初回利用時にコンストラクター実行され、その後sayHelloが呼ばれる
obj.sayHello();
</source>
一方でC#では「new」を呼び出すとメモリの確保とコンストラクターの実行が行われる。
見た目が似ていても微妙に挙動が違うので注意しよう。
== 関連項目 ==
* [[ダブル・チェック・ロッキング]]
* [[Xamarin.iOS/iOSデザイナーでカスタムコントロールを使用する]]
* [[Xamarin.Mac/カスタムコントロールを使用する]]
== 参考文献 ==
{{reflist}}
{{stub}}