コンストラクタ
C++、Java、C#、PHPなど、クラスベースのオブジェクト指向言語では、コンストラクタはクラスのメンバとして定義される。
C++、Java、C#のコンストラクタは、「クラス名と同一の名前を持ち、戻り値指定のない関数(メソッド)」であるかのような記法となっている。以下にJavaの例を示す。
なお、コンストラクタについて「クラス名と同一の名前を持つ関数(メソッド)」と説明している場合があるが、C++やJavaでは厳密にいえばこれは誤りであり、コンストラクタには名前はない。C++では「クラス名と同一の名前を持つメンバー関数」を定義することはできない。一方、Javaでは「クラス名と同一の名前を持つメソッド」を、コンストラクタとは別に定義可能であるが、これは混乱を招くだけでなく、「クラス名を大文字で始め、メソッド名を小文字で始める」というJava公式の慣習に反することにもなるため、通例コーディング規約で禁止または非推奨とされている。
また、PHPでは__construct、Rubyではinitializeというように、特定の名前を持つメソッドを作ればそれがコンストラクタになる、というプログラミング言語も存在する。
コンストラクタに渡す引数により初期化のバリエーションが定義される。特にパターンとして名前をもつコンストラクタは以下である。