「オブジェクト (プログラミング)」の版間の差分
削除された内容 追加された内容
Luckas-bot (会話 | 投稿記録) m r2.7.1) (ロボットによる 追加: ar:كائن (علوم الحاسوب) |
Seseraginen (会話 | 投稿記録) 編集の要約なし |
||
5行目:
[[オブジェクト指向プログラミング]]パラダイムでは、関連するデータを束ね、代入、演算、手続き(関数やメソッドなど)を介した受け渡しといった操作の対象にでき、またメッセージの受け手になれる実体をオブジェクトと呼ぶ(ただし、数値などの基本的なデータ型はオブジェクトとしないプログラミング言語も多い)。多くの場合、オブジェクトは他のオブジェクトを要素として格納することができ、複雑なデータ構造を表現できる。
オブジェクトは、プログラム上で実現したい概念(
オブジェクトは、それ自身に関するデータだけでなく、それ自身や内部のデータに対する操作も束ねている場合が多い。
[[クラスベース]]のオブジェクト指向では、共通した特徴や動作をもつオブジェクトの抽象的な種類を[[クラス (コンピュータ)|クラス]]と呼ぶ。そして、そのクラスに基づき生成されたオブジェクトの具体的な[[実体]]を[[インスタンス]]と呼んで区別する。
== オブジェクトの実装 ==
オブジェクトは、単純な[[データ]]とは限らない<何ものか>を指す概念だが、オブジェクトのインスタンスは、プログラムが実行される時の実体は記憶装置上のデータである。これに対し、クラスはインスタンスが持つデータの形式と操作についての定義であり、プログラムが実行されるときの実体は記憶装置上のプログラムに対応する。このとき、そのオブジェクトは、<何ものか>を[[抽象化 (計算機科学)|抽象化]]していると表現される。(ここで言う「抽象化」は、[[C++]]の[[抽象クラス]]とは無関係)
オブジェクトは記憶装置上に自らのインスタンスを作るための手続きを備えており、この手続きが何らかの形で(通常は他のインスタンスによって)呼び出されることで、インスタンスとなる。オブジェクト指向プログラミングでは、プログラムもオブジェクトであり、プログラムの実行を抽象化するオブジェクトがインスタンス化することを契機として、
== 関連項目 ==
|