先頭へ戻る

コンストラクタ | Programming Place Plus 用語集

トップページ用語集

先頭へ戻る

名称

解説

オブジェクト指向プログラミングにおいて、オブジェクトを生成するとき(インスタンス化するとき)に自動的に呼び出され初期化などの処理を行うメソッドのことです。

具体的な仕様はプログラミング言語による違いもありますが、クラスベースのオブジェクト指向プログラミング言語であれば、クラス定義内にメソッドの1つとして記述します。クラスと同じ名前でメソッドを定義するというルールであったり、コンストラクタであることを意味する特別な名前を用いるルールであったりします。C++ は前者です。

C++ のコンストラクタについては、C++編【言語解説】第13章で解説しています。

コンストラクタは、新規のオブジェクトを生成するときに自動的に呼び出されます。正確には、まずオブジェクトの内容を保持するためのメモリアロケーションが行われ、そのあとにオブジェクトを初期化するためにコンストラクタが呼ばれるという順序になります。

C++ では、メモリアロケーションの部分も、operator new を定義することで記述可能です。C++編【言語解説】第36章で解説しています。

コンストラクタの本体には、呼び出されたあとに実行する一連のコードを、通常のメソッドと同じように記述します。引数を渡すこともでき、オーバーロードを行うことで、初期化の方法を数パターン定義することができます。また、コンストラクタ専用の機能を持っているプログラミング言語もあります(C++ のメンバイニシャライザなど)。

C++ のメンバイニシャライザについては、C++編【言語解説】第13章で解説しています。

主に初期化を担うコンストラクタに対応して、オブジェクトが破棄されるときに自動的に呼び出されるデストラクタという仕組みを備えるプログラミング言語もあります。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー