関数(メソッド)の定義

関数(メソッド)の定義 #

関数・メソッドを定義する方法についてを示す。

Javaではメソッドと言う名で呼ばれる。定義するための記法は以下の通り。クラス内で記述する。

[アクセス修飾子] [static] [返り値の型] メソッド名 {
    //処理文

    return 返り値;  //返り値がvoidなら不要
} 

アクセス修飾子はpublic,private,protectedなど。publicの場合は他のクラスからも利用できる。privateにすると自身のクラスからしか利用することができない。 staticを書くとそのメソッドは静的メソッドとなり、外部のクラスから クラス名.メソッド名 の形で利用することができる。staticがないとインスタンスメソッドとなり、インスタンスを生成してそのインスタンス名.メソッド名 の形でしか利用することができない。(通常はインスタンスメソッドで利用する)
また、メソッドには返り値が必要である。メソッドの最後にreturn文を利用して、メソッドの出力としての返り値を指定してやる必要がある。この返り値の型は、メソッド宣言時に指定した型と同じでないといけない。
ただし、返り値の型にvoidとした場合は返り値がないと言う意味なので、returnは不要である。

Pythonでは関数と言う名で呼ばれる。定義方法は以下の通り。

def 関数名(引数):
    #処理文
    return 返り値   #関数に返り値を設ける場合はreturnを記載する。無い場合は記載しなくて良い。

関数の処理文はdefの次の行から、インデントを一つずらして書く。このインデントの段階にある文が関数の処理文として扱われる。

Javascriptでは関数メソッドで意味合いが微妙に異なるので注意。

関数

関数について、Javascriptではfunctionキーワードを用いる方法と、Functionコンストラクタを用いて定義する方法がある。

function 関数名(引数) {
    //関数内の処理
}

//または

var オブジェクト名 = new Function([引数1[,引数2]],"処理")

引数は0個でも、複数個でも設定できる。

戻り値を設定したい場合は、return文を使って戻したい値を記載する。

また、Javascriptでは無名関数という使用があり、変数に直接関数を代入することができる。

var 変数名 = function(引数){
    //処理
};

呼び出すときは、変数名(引数);という形で利用できる。

メソッド

Javascriptでは、オブジェクト型データのプロパティに定義した関数のことをメソッドと呼んでいる。

var 変数名 = {
    (key名) : function(){
        //メソッド
    },

    ・・・
}

メソッドを使用するには、オブジェクト型の変数のメソッドが指定されているキーを呼び出せば良い。