「オブジェクト (プログラミング)」の版間の差分

削除された内容 追加された内容
Ice9 (会話 | 投稿記録)
→‎概説: 素朴な抽象論だったのをプログラミング手法の話に書き換えた
Ice9 (会話 | 投稿記録)
m →‎概説: 文章の微修正
7行目:
オブジェクトは、プログラム上で実現したい概念(たとえば「顧客」、「社員」、「課」、「商品」、「注文書」など)をメタファとして表現するのにもしばしば使われ、プログラムの設計を考えたり他人と共有したりするのに役立つと考えられている。また[[マウスカーソル]]、ウィンドウ、メニュー、ファイル、段落など、コンピュータ上でユーザが目にするもので、名前が付いているようなものはほとんどオブジェクトとして表現できる。
 
オブジェクトは、それ自身に関するデータだけでなく、それ自身や内部のデータに対する操作も束ねている場合が多い。たとえば、注文書を表すオブジェクトには、注文対象のする商品を追加する操作や注文を取り消す操作を用意することができる。またマウスカーソルを表すオブジェクトについては、上下左右に動かす、クリックするというような操作が考えられるし、ファイルのオブジェクトについては、コピー、削除などの操作が考えられる。操作対象と操作そのものの定義や動作をまとめて表現することでプログラムの見通しが良くなり、プログラミング効率やプログラムの再利用性を高めるのに寄与すると考えられている。
 
[[クラスベース]]のオブジェクト指向では、共通した特徴や動作をもつオブジェクトの抽象的な種類を[[クラス (コンピュータ)|クラス]]と呼ぶ。そして、そのクラスに基づき生成されたオブジェクトの具体的な[[実体]]を[[インスタンス]]と呼んで区別する。たとえば「[[ファイル (コンピュータ)|ファイル]]というもの」「アイコンというもの」の性質を定義したのがクラスであり、「〜というもの」という仕様の性質に沿った一つ一つのファイルやアイコンを表すものがそれぞれインスタンスである。
 
== オブジェクトの実装 ==