関数(メソッド) つづき |
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
でも、なぽちゃん。
メイン関数も「関数」だから
関数の中から
関数を呼び出すってことでしょ?
メインの流れにのって
どんどん関数を呼んで・・・
なんかメイン関数って
関数の組み立てライン
みたいだね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
イメージは
理解するのに
重要! |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
おお、
いいイメージだな。
メイン関数が
「流れを作る組み立てライン」
だとすると、
その他の関数は、
その流れの中で動く「装置」
のような感じだな。
この流れを、
工場で絵の具を作るのに
例えてみよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ステートメント(文)が
小さい「部品」だとすると、
関数はそれをまとめた
中型の「装置」だと思えばいい。
つまり、
関数は、処理をまとめた
中型の処理単位と言える。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
いろいろな
装置を組み合わせて
絵の具を作るんだ!
関数で、
目的に応じた「装置」
を作るんだね! |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
ちょっと
乱暴
だけどねー。
大きさなんて
相対的な
もんだし。 |
 |
|
 |
イメージね。 |
|
|
|
 |
|
 |
|
関数(メソッド)のイメージ(処理の単位として見た場合) |
|
目的:クイズゲームを作る
【絵の具を作る】 |
|
|
ステートメント 【部品】【小】 |
【部品1 チューブ】 ステートメント |
【部品2 染料製造装置】 ステートメント |
【部品3 ラベル作成装置】 ステートメント |
・・・ |
|
|
|
ステートメント 【部品】【小】 |
【部品1 タンク】 ステートメント |
【部品2 バケツ】 ステートメント |
【部品3 こね棒】 ステートメント |
・・・ |
|
|
|
ステートメント 【部品】【小】 |
【部品1 印刷機】 ステートメント |
【部品2 カッター】 ステートメント |
【部品3 ラベルシール】 ステートメント |
・・・ |
|
|
・・・ |
|
|
クイズ問題関数でクイズを出題し、
クイズ解答関数で答えあわせをし、
メイン関数で各関数の結果をまとめるイメージ。 |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ねえ、なぽちゃん。
じゃあ、
「大」の処理の単位は?
・・・あっ!
分かった!クラスだ!!
クラスは「装置」を集めた
「工場」なんだ! |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
おみごと!
でも、今はイメージだけね。
話が広がりすぎるから。。。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
絵の具を
作る
工場だ! |
 |
|
 |
自分で
気付いた
ね。。。。
ちっ。 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゃあ、関数をまとめよう。
今日やったのは、
クラス学習の下地になる
関数の「基本」。
まだまだ勉強する事がある。
これからもいろいろ見ていこう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
大分
進んだな!
一歩一歩
いこうぜ。 |
 |
|
 |
お願いします。 |
|
|
|
 |
|
 |
|
関数(メソッド)特徴のまとめ |
|
処理を整理する事ができる |
機能別にできる |
処理を分離できる |
処理を統合できる |
|
|
処理を再利用する事ができる |
何回でも呼び出して利用する事ができる |
|
|
|
|
 |
|
 |
|
|
 |
|
 |
|
関数(メソッド)の定義と呼出のまとめ
(クラス学習前) |
|
関数の呼出 |
呼び出した時点で関数の定義側へ処理が移る。 |
関数の処理が戻るのを待つ。(同期処理) |
関数の定義に値を渡せる(引数)(値渡し) |
関数から値を受け取れる(戻り値) |
何回でも呼び出すことができる |
|
関数の定義 |
呼出元から値を受け取れる。(引数)(値渡し) |
呼出元へ結果の値を戻せる(戻り値) |
関数の中から別の関数を呼べる。 |
|
|
|
|
|
 |
|
 |
|
|
|
|
|
この方が
分かりいいでしょ?
だめ? |
 |
|
 |
そうだったんだ。 |
|
|
|
|
 |
|
|
|
|
 |
 |
 |
|
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ちなみに、
引数の名称だけど。
正確には、
呼出側も定義側も
両方とも引数なんだよ。
けど、理解しづらいからね。
この図のように
関数側を引数って呼んで
説明したよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|