広告
  サイト内検索:
<Let's create a game!> Introduction of programming for absolute beginners English
 

SESSION 14 その61
クラスの詳細 つづき
  static(スタティック)とインスタンス化の違い

えー・・・???

インスタンス化しないで
メソッドとか使えちゃうなら
オブジェクトって
必要ないんじゃ・・・?


クラスの全部の項目を
staticにすれば
済んじゃうよね?
うーん。

それは
全然違うんだな。


自動車クラスの例で
詳しく見てみよう。
なにこれー

今までやったこと
ぜんぶひっくり
返されたみたい・・・

全然違うー

よく分からなくて
当然だけど。


例えば、自動車の車体色。

通常のままだったら
生成したインスタンスは、
各自が車体色フィールド
を持つ。
インスタンスごとに
フィールドを
持ってるからね。
 
インスタンスとstatic(スタティック)の関係:インスタンスの場合
 
当たり前ー
これなら
それぞれの自動車で
色の設定ができるよね!


実体は常に
クラスの1つだけ。
それに対して
車体色フィールドを
staticにした場合。


この場合、車体色フィールドは
自動車クラスが持つ
クラスフィールド1つだけになる。


だから、インスタンスを
いくつ作っても
車体色フィールドは
全部のインスタンスで1つ。

クラス全ての共有のフィールドに
なるんだよ。
 
 
インスタンスとstatic(スタティック)の関係:staticの場合
 
いくつインスタンスを
作っても、参照するのは
設計図のになるんだ。

みんなで1つに
なっちゃうんだ!
  面白いね。
 


まとめると。
インスタンスも必要ってこと。


インスタンスの場合、
いくらでも生成できて、
インスタンスごとに独立した
メンバを持てる。

staticの場合、1つしか作れない。
設計図は1つしかないからね。
なるほど。

staticとインスタンスは
全然別の話だったんだね。
クラスは
1つだけー

そっか。

 
 

広告
home もくじ 前のページを読む 次のページを読む
  サイト内検索:
広告
お勧めの姉妹サイト
leafdays - リーフデイズ 超初心者のための園芸入門 - 楽しい趣味のガーデニング -
広告