Tonyu Lab
Contents

 
Top
About Us
About Tonyu
Tonyu Program Tech
0.基礎
1.条件節
2.クラスの継承
3.メソッド
3-1.引数
4.コンストラクター
BBS
Link
 
Author: Nuntora

3.メソッド

 メソッドはチュートリアルの為か、Userの方々の間でも、多く使用されております。ここで述べるメソッドとは、どういった場合にメソッドを作成すればよいのかを述べるに留まりたいと考えています。

 そもそもメソッドとは英語における「Method」であり、「方法、やりかた」くらいの意味である。TonyuにおけるメソッドはFunction(ファンクション)のことであり、英語におけるFunctionとは「機能、働き、関数」くらいの意味である。つまり、メソッドすなわちFunctionとは「特定の機能を持ったもの(すなわち関数)」と言った意味である。

 onDie() Functionを考えてみましょう。仮に、Userの方がonDie()の中で何が行われるのかを知らなかったとしても、「そのオブジェクトが消える」という意味さえ知っておけば、そのonDie()を利用する価値があります(その内容を知らなくてもその利用価値がわかって、それを利用できるということを、「カプセル化」と呼ばれています)。
 レシピ集は、誰かが作成したFunctionを内容を知らなくても利用できるようにしたカプセル化の例です。 例えば、
「ランダム数によって生じた数値を最小二乗法により誤差を少なくさせた曲線を使用して、数値を得たい」
 これでは、みなさん意味がわからないと思います。「最小二乗法」って何ですか、から説明したのでは何ヶ月あっても足りません。しかし、「誤差の少ない数値を得られる」という事実さえ知っておけば、誰かが作成した最小二乗法のFunctionを使用して同様の結果が得られるということになります。

 また、Functionは何回も使用されることからその利用価値が高まります。変更する場所を少なくさせたりすることができるからです(チュートリアル参照)。atariHantei()がその例と言えます。

 これらがFunctionの利点であります。

 つまりは、atariHantei()メソッドやonDie()メソッドのように「何度も使用される」「内容を知らなくても難しい操作が可能になる」と言ったときに使用すればよさそうですね。

 以下には、多く使用されるかもしれないメソッドを列挙しておきます。

  • atariHantei() - オブジェクトが他のオブジェクトと衝突したときに呼び出すメソッド
  • crashSound() - 一発で死なない敵の一度目と二度目の効果音を分けたい場合に呼び出すメソッド
  • damage() - 当たり判定時にダメージの部分が混雑していて、その部分だけを分けたいときに呼び出すメソッド
  • waitAndMove() - 待たせたり移動させたりするクラスが複数あらわれたりした場合に呼び出すメソッド
  • そのほか定義されていない数学関数でよく利用するものがあった場合
  • クラスの継承で子クラスに利用させたい部分を分ける場合

 無理やりメソッドを作成することは避けてください。必要に応じて作成することが望ましいからです。

 

発展: (上級者のみ)

オーバーロードは一つのFunctionしか認識されないため、作成はできますが機能しません。