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

SESSION 14 その83
クラスの連携 つづき

実行形式(exe)
プログラムの
場合の話ね。
ここでちょっとプログラムの話。

大まかなクラスの設計が
できた訳だけど、
このクラスをプログラムで使う場合
大きな問題があるんだ。

それは、プロジェクトを開始してから
どうやって最初のオブジェクトを
作るか
ってことだ。

今回の場合で言うと、
メイン工場オブジェクトを
どうやって作るか
ってことね。
 
えー?
なに?なに?

別に普通に作れば
いいんじゃないかな?

  どゆこと?

完成じゃ
ないの?
 


ほら、今までの説明では
ぽんちょなり外部オブジェクトが
既に存在すると仮定して、
クラスから自動車とかの
インスタンスを生成してただろ。

でも実際は、プロジェクトの
開始時には何もオブジェクトは
存在しない。

最初のオブジェクトを作って
くれるオブジェクトは存在
しないんだ。


その状態で、
誰がメイン工場クラスを使って
最初のメイン工場オブジェクトを
作るのか。
えっ、
ぽんちょいないんだ!


うーん、そっかあ・・・
作る人がいなきゃ
始まらないね。

これじゃ
クラス使えないよー・・・
コンピューターの
中の話だからね。

ムリー
あたしが
作ったんじゃ
だめ?


これがオブジェクト指向の
「考え方」の話なら
最初のオブジェクトを作るのは
プロジェクトの設計図を使う
「誰か」でいいかもしれない。

厳密にしないで
おまえでも、社長でも、
かっぱでも、誰でもね。

でも、コンピューターの場合は
そうはいかない。

プログラムでは明確に
最初のオブジェクトを
作る方法や決まりがないとね。
かっぱのぱー
かっぱ?
うーん。

コンピューターの場合は
どうやったら
最初のオブジェクトを
作れるのかな?

  メインメソッド

そこで、プログラムでは
プロジェクトを開始した時に
メソッドを自動実行させる仕組みが
あるんだ。

これを「メインメソッド」って言うよ。

これは言わば
プロジェクトの実行開始命令。


今回の場合で言うと、
メイン工場クラスに
メインメソッドを作って、
そこで最初のオブジェクトを
作らせるようにする
んだ。
メインメソッド?

今まで使ってた
「メイン関数」のことだね!


そうだよ、メイン関数は
自動実行されるよね!

よかった!
自動的にメインメソッドを
実行して、オブジェクトを
作らせるんだね!
カードでは
メインメソッド
の方が文字
小さいけど。。。
あー!

準備処理の上は
メインメソッド
だったんだ!
 
クラスカード:自動実行のメインメソッドを作る


卵が先か
鶏が先か
みたいに
なってるー。
・・・あれ?

待って、待って!
何かおかしくない?


今問題なのは
最初のオブジェクトを
どうやって作るか
って
ことでしょ?

メインメソッドを使うには
先にメイン工場が
インスタンス化してなきゃ
使えないよ。


これじゃ、メインメソッドは
使えないってことだよね。

何も問題解決してないよ。
 
大丈夫。

メインメソッドは
staticにする決まり
なんだ。
  ここで
static
登場ー
 


 
 
やったあ!
メインメソッドはstaticだから
インスタンスが生成されて
いない状態でも
実行することができる。


そのメインメソッドの中で
最初のオブジェクトを
作るんだよ。
 
そうか!!
staticは設計図にくっついてる
からインスタンス化しない
でも使えるんだね!


これで何も無い状態からでも
メソッドを自動実行できるんだ。


staticって
こんな使い方もできるんだね!
 


えーと、今までやった
コードでは・・・

やっぱり、
今までのメイン関数にも
static付いてる!

おまじないは
そう言うことだったんだね!
詳しいstaticの使い方は、
Javaのクラスの使い方を
学習する時にまたやる
からね。

今は確認だけね。
ほらほらー

mainの前に
static
付いてるねー
あー

IDE起動
しちゃった。

いいけどー
 
ソースファイルの構造(パッケージ、クラス、メイン関数、コメント)

 
 

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