インスタンス単語

インスタンス
  • 2
  • 0pt
掲示板へ

インスタンスとは、オブジェクトの実体の事をす。
オブジェクトを実体化させることは、インスタンス化と呼ばれる。

概要

クラスベースオブジェクト指向において、通常、クラスアクセスする事は出来ない。
クラスからインスタンス化を行い、生成された実体に対してアクセスを行う。

但し、言によっては、直接アクセスすることの出来る、静的クラスを作れる物もある。
この静的クラスに対しては、インスタンス化を行うことは出来ない。

また、継承を前提として作られた抽クラスも、静的クラスと同様にインスタンス化を行うことは出来ない。

具体的に言うとどういうこと?

例えば何かのパーティーがあって「フレンチシェフを三人手配してくれ」という要望があるとしよう。

しかし会場にやってくるのは田中シェフ鈴木シェフ加藤シェフであって「フレンチシェフ」という人間が世の中にいるわけではない。つまり「フレンチ料理ができる人間」という概念(クラス)と、それに該当するを持った具体的な個人(インスタンス)の割り当てが行われるのであり、このような関係がクラスとインスタンスというわけである。

このようにクラスとはそもそも抽的な存在なので具体的なインスタンスなしで使うということは基本できないのであるが、場合によってはクラス-インスタンスで分けるのがしっくりこないことがある。例えば「地球」みたいなものは常時一個しかないので、クラスだインスタンスだと分けることはせず、いつでもどこでも使えることにしておいたほうが手っ取りい。これが静的クラスである。

ところでクラス自体抽的な存在だといったが、それでも「フレンチシェフ」というのはなんの説明もない「シェフ」よりは具体的である。もし「シェフを手配してくれ」とだけ要を出したら「中華か?和食か?フレンチか?」と聞き返されるだろう。つまりそれだけでは抽的すぎてどう扱っていいかわからないものは「これだけではインスタンス化できませんよ」とマークする必要があり、こうしたものが抽クラスとなる。

なお具体-抽の関係は相対的なのでここで上げた例もケースバイケースである。何が具体で何が抽かはそのプログラムの内容による。

関連項目

【スポンサーリンク】

  • 2
  • 0pt
スマホ版URL:
https://dic.nicovideo.jp/t/a/%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

インスタンス

1 ななしのよっしん
2008/08/16(土) 22:21:07 ID: 93T1kRPXSv
「抽クラス」もインスタンス化できなかったりする。
何らかのサブクラスを作って使うことが前提なので。
2 ななしのよっしん
2012/11/17(土) 23:29:49 ID: jGn7SdUosh
屁理屈を言ってるように聞こえるかもしれんが
クラスメソッドクラスインスタンス化なしでも使える
インスタンスではなくクラスから直接メタ情報を取得する方法もある

それは置いといて、概要オブジェクト指向についての説明になってて、「インスタンス」の概念の説明になってないと思うんだが
3 ななし
2018/05/25(金) 23:06:38 ID: EdGjpEHFwD
一般人にはこの説明では全く分からぬ