- 締切済み
インスタンスとは?
JAVAとかに出てくる「インスタンス」という言葉の意味をもっとわかりやすく教えてください。 小学生でもわかるような例えで教えてください
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- weavaest
- ベストアンサー率15% (157/1020)
技術者向のカテゴリーですが、技術者っぽくない質問ですね。 「もっとわかりやすく」って何に対しての「もっと」なのでしょうね。 現在どの程度の理解かによって、「もっと」の指す意味が違ってきますよね。 小学生云々は、まあどうでもいいですけど... インスタンスとは、オブジェクトって言えば理解できますか。実態って言えば理解できますか。 クラスを雛形とすれば、インスタンスが、それをメモリ上に実体化したものです。なんて説明で理解できますか。 クラスをレシピとするなら、インスタンスは料理とかでどうですか。 今の理解度が分からない以上、どう説明していいかわからないです。取り敢えず適当な表現で書いてみました。
- amanojaku1
- ベストアンサー率54% (265/488)
下記は つい最近 僕が作成した PC用の Java2 Appletcation の Demo プログラムの動画です。 物凄く大雑把に言うと「Sin波を動かす」クラス(設計図)を作成し、「Sin波を動かす」インスタンスを複数 生成させて、複数の Sin波を動かしています。 少し分かりにくいかもしれませんが、白色は合成波です。 Java2 Appletcation 10『Sin グラフを横スクロールさせる(6)』 https://www.youtube.com/v/XRoiPPgqxto%26autoplay=1
- amanojaku1
- ベストアンサー率54% (265/488)
下記はアンドロイド・プログラミングの勉強のために僕が以前 作成した Demo プログラムの動画です。 物凄く大雑把に言うと「円を動かす」クラス(設計図)を作成し、「円を動かす」インスタンスを複数 生成させて、複数の円を動かしています。 『SurfaceView(2) 改(2)』サンプル動画 https://www.youtube.com/v/-khejT0BwXw%26autoplay=1
- amanojaku1
- ベストアンサー率54% (265/488)
補足 > 変数 CarA に Car のインスタンスを代入し A さんの車を作る。 変数 CarA に「new Car( )」で生成したインスタンスを代入し A さんの車を作る。
- amanojaku1
- ベストアンサー率54% (265/488)
クラスは設計図、インスタンスは その設計図から作られた製品と言う感じです。 例えば自動車の設計図として Car と言うクラスが有ったとすれば 変数 CarA に Car のインスタンスを代入し A さんの車を作る。 CarA = new Car( ); 変数 CarB に Car のインスタンスを代入し B さんの車を作る。 CarB = new Car( ); ↑このように設計図を1つ作れば製品を いくらでも量産できると言う訳です。
- notnot
- ベストアンサー率47% (4900/10358)
小学生には無理です。せめて高校生くらい(高校生レベルの頭の小学生を含む)。
- Wap58
- ベストアンサー率33% (29/87)
あなたは数学にも疑問を感じないの、 数学も解答の円周率を先に教えて、 それを解けって不思議な学問なんだよ。 勉強も口から食って口から出すでしょ、 プログラムも同じ扱いでいいんじゃない。 私はインスタンスとか詳しく考えない、 でも、とりあえず動くソース程度は書ける。 普段使いの計算でいいんじゃね? いきなり円周率とかを理解しようとしない、 分かってもあまり意味がないと思う。
>小学生でもわかるような例え たとえ話で理解しようとするから、フロッピーを初期化するだとか、いや買ってくることだとかいう話になるんじゃないですか?たとえ話で理解するような性質のものではないのではないでしょうか。 あえてそういうたとえ話をするとすれば、ウェブにいくつでも見つかります。いまいくつかみつけた中で面白かったものをご紹介します。 http://www.atmarkit.co.jp/ait/articles/0805/08/news152_2.html 大まかに言えば、クラスで定義されたようにメモリ上にデータを展開することです。 インスタンスが生成されたら、プログラムが走っていることがわかります。 同じクラスでもうちどインスタンスを生成すれば、同じプログラムがもう一つ走ることになります。 メモリ上に新しい領域を確保して、そこに必要なデータを展開するのですから、初期化とは全く違う話です。