LoginSignup
3
2

More than 3 years have passed since last update.

小学生でもわかる。クラスとインスタンス。

Last updated at Posted at 2020-06-12

クラスってなに?

クラスは、日本語で言うと分類/種類のことです

ポチは犬で、たまはネコ
みんなそれぞれ何かの種類に入っています
例えば、ポチのクラスは犬で、たまのクラスはネコです

クイズ

  1. クラスは日本語で言うと何のこと
  2. カレーライスのクラスは何かな?考えてみよう

1のこたえ。種類。2のこたえ。たべもの。ばんごはん。からいもの。おいしいもの。すきなもの。など。いろいろ考えられるね。

インスタンスってなに?

インスタンスは、日本語で言うと同じ種類の仲間のことです

たまはネコだし、みけもネコ、ニャースもネコ
たまも、みけも、ニャースも、みんなネコの仲間です

それを、格好良く言うと、ネコのインスタンスと言います

クイズ

  1. インスタンスは日本語で言うと何のこと
  2. いきもののインスタンスは、どんなものがあるかな?考えてみよう

1のこたえ。同じ種類の仲間のこと。2のこたえ。バッタ。カマキリ。ひと。クジラ。タコ。など。いろいろ考えられるね。

クラス変数ってなに?

クラス変数は、どんなクラスかを書くための項目のこと

例えば、りんごも、みかんも、ぶどうも、メロンも、みんなフルーツの仲間
だけど、みんな結構違う

  • 味が違う
  • 香りが違う
  • 色が違う
  • 名前も違う

「○○が違う」とたくさん書きました
この○○を全部、クラス変数と呼んでいます

味も香りも色も名前も、みんなフルーツのクラス変数です

プログラミングには沢山の種類があるけど、あるプログラミングでは、クラス変数じゃなくて、フィールドって呼んだり、プロパティって呼んだりすることもあります
結局おなじことです

クイズ

  1. クラス変数は日本語で言うと何のこと
  2. お菓子のクラス変数は何があるだろう?考えてみよう

1のこたえ。どんなクラスかを書くための項目のこと。○○が違う、の○○全部のこと。2のこたえ。色。かたち。味。香り。など。いろいろ考えられるね。

実際のプログラムを見てみよう!

サンプル.ts
class アニメ {

  // アニメクラスのプロパティ・クラス変数・フィールドです(プロパティは、どんなアニメかを記述するための項目のことです)
  放送開始日: Date
  タイトル: string
  制作会社: string
  ジャンル: Genre
  エピソード: Chapter[]

  // これはコンストラクタです。日本語で言うと、アニメ作成くんです。アニメを作ります。
  constructor(タイトル: string, ジャンル: Genre, 制作会社: string) {
    this.タイトル = タイトル
    this.ジャンル = ジャンル
    this.制作会社 = 制作会社
  }

}

function アニメを作る関数() {
  // 日常を作ります。アニメを作るときは、new アニメ() を呼びます。
  const 日常 = new アニメ(
    '日常',
    Genre.コメディ,
    '京都アニメーション'
  )
  // new アニメ() は、constructor のことです。アニメを作るので、アニメを作る人を呼んでいます。
  // const 日常 が、アニメ クラスのinstanceです。

  // クラスとインスタンスの関係が分かりましたか?
  // クラスは、日本語で言うと分類のことです。種類のことです。世の中にはいっぱいアニメがありますが、ジョジョも君に届けも、分類としては、同じアニメクラスのインスタンスです。
}

あとがき

研修担当のみなさまに捧げます
クラスとインスタンスの違いが分からなかったら、このリンクを貼っとけば大丈夫!
やったね!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2