RGSS基本講座(4)
概要
- クラス(1)
- メソッド(1)
クラス(1)
「クラス」と聞いて思い浮かべるのが、キャラクターの職業を決めるあの「クラス」だと思います。
この「クラス」とRGSSのクラスは若干似ていますが、基本的に別物ですので注意してください。
オブジェクトの種類を表すのがクラスです。クラスには、属するオブジェクトが「○○というメソッドを××というように処理する」とか「△△という変数を持っている(変数については後日)」とかいうことが定義されています。
※「☆☆クラスのオブジェクト」のことを「☆☆クラスのインスタンス」と表現することがありますが、オブジェクトとインスタンスには意味的な差はありません。ただ、「インスタンス」という言葉を使う時は大抵「☆☆クラスのインスタンス」のように「~クラスの」という言葉がつきます。
はじめから定義されているクラスを「組み込みクラス」といいます。組み込みクラスにはStringクラス(文字列クラス)やIntegerクラス(整数クラス)など基本的なものがあらかじめ定義されています。
また、もともとあるクラスを再利用して新しいクラスを作ることもできます。このことを「継承」といい、元になったクラスを「スーパークラス」、新しく作ったクラスを「サブクラス」と呼びます。サブクラスではスーパークラスでメソッドなどをそのまま利用することができます。
継承のポイントは各クラスで「共通する部分」を1つにまとめることにあります。たとえば、プリセットのスクリプトではWindow_Baseというクラスがありますが、このクラスはウィンドウとして表示されることのうち多くのクラスに共通することをまとめているクラスです。
「Window」のつくクラスはすべてWindow_Baseのサブクラスになっています。(つまりWindow_Baseで定義されているメソッドなどはそのまま使える)
※プリセットのスクリプトのプリセットはpreset(あらかじめセットしておく)のことだと思います。たぶん。ツクールのヘルプにはきちんとした説明が載っていなかったorz
ツクールのヘルプでは「スクリプトエディタにはじめから書かれているスクリプト」という意味で使われてます。
クラスについての基本は以上です。もっと詳しいことはクラス(2)で説明します。
メソッド(1)
オブジェクトに与える命令(処理)のことをメソッドと呼びます。このとき命令(メソッド)を受け取るオブジェクトのことを「レシーバ」と呼びます。メソッドを受け取ったオブジェクトはそのメソッドに定義された処理を行って、何らかの結果を返します。
この結果のことを「返り値」もしくは「戻り値」と呼びます。
メソッドには大きく分けて3種類あります。
関数的メソッド
いきなり例外っぽいけど、レシーバが存在しない(レシーバに依存しない)メソッドを「関数的メソッド」といいます。RPGツクールXPのヘルプで「~関数」と表現されているものは基本的にこれです。
クラスメソッド
レシーバがクラスになっているメソッドを「クラスメソッド」といいます。基本的にnewメソッドだけを覚えておけば問題ありません。
newメソッドはそのクラスのインスタンスを作るメソッドです。
インスタンスメソッド
レシーバがオブジェクトであるメソッドが「インスタンスメソッド」です。RPGツクールXPのヘルプのRGSSリファレンスで単にメソッドと書かれているのはすべてこれです。
と、メソッドの定義がわかったところでメソッド(1)は終わります。
今回はここまで。
コメント
コメントの投稿
トラックバック
http://rgss.blog26.fc2.com/tb.php/7-114b8bae
この記事にトラックバックする(FC2ブログユーザー)