クラスベース言語でのコンストラクタとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > クラスベース言語でのコンストラクタの意味・解説 

クラスベース言語でのコンストラクタ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/07 07:40 UTC 版)

コンストラクタ」の記事における「クラスベース言語でのコンストラクタ」の解説

C++JavaC#PHPなど、クラスベースオブジェクト指向言語では、コンストラクタクラスメンバとして定義されるC++JavaC#コンストラクタは、「クラス名同一の名前を持ち戻り値指定のない関数メソッド)」であるかのような記法となっている。以下にJavaの例を示す。 class SomeClass { SomeClass(/*引数リスト*/) { // 初期化用のコード }}SomeClass obj = new SomeClass(/*引数リスト*/); なお、コンストラクタについて「クラス名同一の名前を持つ関数メソッド)」と説明している場合がある[要出典]が、C++Javaでは厳密にいえばこれは誤りであり、コンストラクタには名前はない。C++では「クラス名同一の名前を持つメンバー関数」を定義することはできない一方Javaでは「クラス名同一の名前を持つメソッド」を、コンストラクタとは別に定義可能であるが、これは混乱を招くだけでなく、「クラス名大文字始めメソッド名を小文字始める」というJava公式の慣習反することにもなるため、通例コーディング規約禁止または非推奨とされている。 また、PHPでは__construct、Rubyではinitializeというように、特定の名前を持つメソッド作ればそれがコンストラクタになる、というプログラミング言語存在するコンストラクタに渡す引数により初期化バリエーション定義される。特にパターンとして名前をもつコンストラクタは以下である。 デフォルトコンストラクタ 引数なしで呼び出すことができるコンストラクタのことである。通常引数のないコンストラクタであるが、C++ では全ての引数デフォルト引数指定されているコンストラクタ引数なしで呼び出すことが可能なためデフォルトコンストラクタ呼ばれるコピーコンストラクタ 同一クラスオブジェクトを基に、同一内容オブジェクト作成するコンストラクタ複製作るムーブコンストラクタ異なりコピー元のオブジェクト書き換えられることはない。 ムーブコンストラクタ 同一クラスオブジェクトを基に、同一内容オブジェクト作成するコンストラクタコンストラクタ内では、内部状態をムーブ元のオブジェクトから自身オブジェクト移動する。すなわち、ムーブ元のオブジェクト内容破壊されるムーブコンストラクタ実行前と異なる状態となる)。C++11正式に導入された。 変換コンストラクタ 別の型からの暗黙変換提供するコンストラクタC++において、explicit指定されておらず、1つだけ引数受け取コンストラクタ変換コンストラクタ (converting constructor) になり、明示的なコンストラクタ呼び出し記述省略できる2つ上の引数受け取り2つ以降デフォルト引数指定されているコンストラクタ対象になる。 コンストラクタチェーン 引数異な複数コンストラクタチェーンのように一つコンストラクタ結び付けること。単純なものから複雑なものへ流すことで初期化コード重複を防ぐ。C++11では委譲コンストラクタ言語機能として実装された。

※この「クラスベース言語でのコンストラクタ」の解説は、「コンストラクタ」の解説の一部です。
「クラスベース言語でのコンストラクタ」を含む「コンストラクタ」の記事については、「コンストラクタ」の概要を参照ください。

ウィキペディア小見出し辞書の「クラスベース言語でのコンストラクタ」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「クラスベース言語でのコンストラクタ」の関連用語

クラスベース言語でのコンストラクタのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



クラスベース言語でのコンストラクタのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのコンストラクタ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS