予告どおり、ここではメソッドの定義方法について説明します。
説明といってもコンストラクタと変まりませんが、ちょっと付け加えたいと思います。
メソッドを定義しよう
予告どおり、ここではメソッドの定義方法について説明します。
説明といってもコンストラクタと変まりませんが、ちょっと付け加えたいと思います。 メソッドの宣言
コンストラクタとまったく同じです。
ただ、「constructor」を、関数でおなじみの「function」を使うだけの話です。
これだけ。特に問題なしではないでしょうか?
呼び出し方もコンストラクタと同様ですが、注意しなくてはならないことがあります。 それは、メソッドはオブジェクトで使うということです。 まぁ、見ていただければわかります。
コンストラクタは直接クラス名(CSample.)を指定していますが、 メソッドはObj、つまりオブジェクトを指定しています。 宣言部にメソッドを書く
コンストラクタを説明したときには言いませんでしたが、
宣言部内に直接メソッド等を記述することも可能です。
と、こんな感じです。
ソースが短いときはこんな感じでもいいでしょう。 ただし、宣言部に書いたときと実行部に書いたときでは、大きな差が現れる部分があります。
ちょっと複雑ですが、Speakが呼ばれたらGetNameを呼んでいるだけです。
問題ないですね?ちゃんと自己紹介的な文が出たはずです。 では宣言部に書いて実行してみましょう。
実行すると... あれ?2行目は「私はgetnameです。」としか表示が出ません。 なぜでしょうか?
メソッドも関数同様、宣言が先でなくてはならないからです。
つまり、GetNameの宣言が、Speakよりも後のため、Speak内のGetNameは変数として扱われます。 ですから、面倒くさいかもしれませんが、宣言部と実行部は分けて書くようにしてください。 |