ニコニコ大百科モバイル

7/2(月)よりスマホまたはPCでアクセスした場合、各デバイス向けのサイトへ自動で転送致します


インスタンス


ヨミ: インスタンス
掲示板をミル!
3カキコ!

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


概要


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

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

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


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


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

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

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

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

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


関連項目



最終更新日: 19/08/29 00:27
タグ検索 パソコン版を見る


[0]TOP
ニコニコ動画モバイル
運営元:ドワンゴ