検索
連載

ActionScriptで学ぶクラスやオブジェクト指向の基礎Flashの基礎を無料で習得! ActionScript入門(4)(2/2 ページ)

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

「メソッド」はどうやって書くのよ?

 さて、メソッドとは具体的にどのように書くのでしょう。

 メソッドには、戻り値があるものとないものがあります。戻り値のないものは、メソッド内で処理が完結しているもので、戻り値の型には「void」というキーワードを指定します。メソッドの結果によって処理の流れを変えたいようなときには戻り値を設定します。

メソッドを実際に作ってみよう!

 それでは、一度Fingerクラスから離れて、いままでに学んだ制御文や演算子を使い、引数(メソッドを実行する際に必要となる変数、引数がないメソッドもある)の値が「3の倍数と3の付く数字」か判定するメソッドを作ってみましょう。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 【1】の「if ( num % 3 == 0 ) {」では、引数numが、3の倍数かどうかの判定をしています。【2】の「} else if ( str.indexOf( "3" ) != -1 ) {」では、引数numを文字列に直したものが代入された文字列strに「3」が含まれているかの判定をしています。【3】の「return result;」は、変数resultを戻り値として返すことを表しています。

 このように一連の処理をメソッドにしてまとめておくと、重複したコードを書かなくても済みますし、メソッドの名前を明確にしておくことで、コードが読みやすくなります。

 先ほどのFingerクラスの「getArea()」メソッドはlengthとsizeの積を戻り値として返しています。

既存のメソッドの例、Stringクラスの「indexOf()」メソッドとは?

 ちなみに、「indexOf」というのはStringクラスに用意されている、文字列を検索するためのメソッドで、文字列が見つかった場合文字列の先頭からの位置を戻り値とし、文字列が見つからなかった場合、-1を戻り値とします。

「オブジェクト」を生成してみなさいよ

 クラスを使ってオブジェクトを生成してみましょう。オブジェクトの生成にはnew演算子を使ったりするなど、以下の2つの方法があります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

オブジェクトの生成例

 例えば、Fingerクラスのオブジェクトを生成する場合は、以下のようになります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 また、下記のように略して記述することもできます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

親指から小指までのすべての“指”のオブジェクトをソースコードで表すと……

 では、親指から小指のオブジェクトを生成する場合、どのようなソースコードになるか見てみましょう。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

訂正のお知らせ

上記ソースコードについて、「index.hair = 2;」を「index.hair = 2」と表記するなど、間違いがあり、修正させていただきました。
内容について正確を期せずに混乱を招いた点、読者の皆様におわび申し上げます(2008年7月31日)。


 【1】の「var thumb:Finger = new Finger();」では、親指のオブジェクトを生成します。【3】の「thumb.length = 4;」では、親指の長さをオブジェクトのフィールドlengthにセットしています。【4】の「thumb.size = 5;」では、親指の太さをオブジェクトのフィールドsizeにセットしています。

図 指クラスを使って5本の指オブジェクトを生成したクラスのイメージ
図 指クラスを使って5本の指オブジェクトを生成したクラスのイメージ

 このように、オブジェクトを生成することで同じFingerクラスから5種類の指を作ることができました。

 実行し、「little」(小指)オブジェクトの「getArea()」メソッドを実行した結果、「8」が画面に表示されれば成功です。

クラスを「継承」するの?

 いかがでしたか? 今回はオブジェクト指向の片鱗が見えた感じですね。

 次回は、これまでの連載中で使ってきたLesson**クラスのソースコードに必ず出ていた「extends」というキーワードを使う、クラスの「継承」について説明したいと思います。お楽しみに!

プロフィール

吉村 美保(よしむら みほ)

クラスメソッド株式会社 情報システム部 プログラマー
ゲーム開発、インストラクターなどの経験を経て、クラスメソッド株式会社に入社。入社後はFlexやAIRによるRIA開発を行っている。



Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る