「コンストラクタ」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「'''コンストラクター'''(英語:constructor)とは、建築業という意味であり、転じてオブジェクト指向プログラミング言語...」) |
(→概要) |
||
7行目: | 7行目: | ||
// メモリ確保のみ | // メモリ確保のみ | ||
MyClass obj = new MyClass(); | MyClass obj = new MyClass(); | ||
− | // | + | // new直後の初回利用時にコンストラクターが実行され、その後sayHelloが呼ばれる |
obj.sayHello(); | obj.sayHello(); | ||
</source> | </source> |
2017年5月1日 (月) 01:30時点における版
コンストラクター(英語:constructor)とは、建築業という意味であり、転じてオブジェクト指向プログラミング言語におけるオブジェクト生成時の初期化を行うメソッドを指す。けっしてITドカタそのものを指す言葉ではない。なお「コンストラクタ」と長音を伸ばさない表記をたたみ受けるが、内閣告示に従えば長音を伸ばす表記が正しい日本語表記となる。
概要
多くのプログラミング言語においてコンストラクターというと「new」というイメージが強いが、メモリ確保とコンストラクターが別々に行われる言語もある。 たとえばJavaでは「new」を呼び出すとメモリが確保されるが、コンストラクター実行はその後の最初のオブジェクト利用時となる。
// メモリ確保のみ
MyClass obj = new MyClass();
// new直後の初回利用時にコンストラクターが実行され、その後sayHelloが呼ばれる
obj.sayHello();
一方でC#では「new」を呼び出すとメモリの確保とコンストラクターの実行が行われる。 見た目が似ていても微妙に挙動が違うので注意しよう。