みなさんこんにちは
評判を聞きつけてPS4のFFX,X-2を買ってやってみたところあまりのハマりっぷりに時間を取られてしまうブルーノです。ティーダの心中を考えると色々切なかった....僕はFFはシリーズ通して半分くらいしかやったことのないにわかですがやっぱりターン制だと落ち着いてなおかつじっくり考えられるので楽しいです。最近だとバイオハザード7の「21」にも通ずる点がありました。さて今回は、クラスの中身の機能の部分、メソッドについてまとめていきます。
メソッドとは?
メソッド(method)は英語で「方法」とか「方式」、「道筋」なんて意味がありますが、プログラミングではまさしくクラスがどう動くかについてを記述するものがメソッドになります。メソッドは次のように定義します。
アクセス修飾子 復帰型 メソッド名(パラメータリスト)
例)public void SimpleMethod(int x, int y);
今回見覚えがないのは復帰型とパラメータリストですね。
・復帰型:メソッドが返すデータの型(種類)です。中で加工したものがどんなデータで出てくるかを表します。ちなみに出てくるデータのことを戻り値と言います。データを返さない場合は例のように void を指定します。
・パラメータリスト:メソッドを呼び出す(使う)際のメソッドへ送る変数をここに記述します。この変数をパラメータ、もしくは引数(ひきすう)と言います。例ではどうやら int x と y がどこか別のクラスかメソッドから送られてこのメソッドに代入されるようですね。
実際にメソッドを定義したプログラムを作ってみます
5行目のAdd(足し算)メソッドで引数xとyを足すことを定義して、それを変数zに代入しています。この最後のreturn文がメソッドの返す値になります。そして17行目、Mainメソッド内でBruno009クラスを生成し、19行目では a.Add(200, 300) でAddメソッドに200と300を渡して加工しています。今までは「クラス.インスタンス」だったのがインスタンス.メソッド」になっていますね。ややこしいのでまたまとめておきます。
今回の例でのそれぞれの用語のポジション
クラス:Bruno009, Bruno010
インスタンス:a (17行目でBruno009クラスのインスタンスaが作られた)
メソッド:Add (中で足し算を定義している)
こまめに用語の整理をしておかないと私はあまりよくできた頭ではないので...
いかがでしたでしょうか。だんだん複雑になってきたのでちゃんと整理しながら進めていきたいと思います。うーん。やっぱりプログラミング楽しいなあ