2012年3月22日木曜日

インスタンスメソッド - クラスの概念 - Ruby入門


広告

クラスは何かを行うための設計図です。そこで具体的に何をさせたいのかをクラスの中に記述していく必要があります。その処理を記述するのがメソッドとなります。

メソッドは『メソッド』で見たとおり実行する一連の処理をまとめたものです。ただし通常のメソッドがプログラム中からいつでも呼び出せるのに対してクラス内に記述されたメソッドはクラスから作成されたオブジェクトしか呼び出すことが出来ません。このようなメソッドをインスタンスメソッドと呼びます。

 class クラス名    def メソッド名(引数1, 引数2, ...)     処理   end  end 

例えばクラス名について表示するだけの簡単なインスタンスメソッドは次のようになります。


Strutsのvalidation.xmlを記述する手順は何ですか
 class Car   def dispString(str)     print(str, "¥n")   end end 

なお、引数が無いメソッドの場合は括弧を省略しても構いません。

 class Car   def dispClassname     print("Car class¥n")   end    def dispString(str, "¥n")     print(str)   end end 

インスタンスメソッドの呼び出し

定義されたインスタンスメソッドはクラスのオブジェクトから呼び出すことができます。


基本的なマイクロコントローラ、 LEDランプ、なぜ470オームの抵抗
 class Car   def dispClassname     print("Car class¥n")   end      def dispString(str, "¥n")     print(str)   end end  car = Car.new car.dispClassname car.dispString("crown") 

オブジェクトからメソッドを呼び出すにはオブジェクトの後にドット「.」を付けてメソッドを名を記述します。引数がある場合は括弧の後に引数をカンマで列挙して記述して下さい。引数が無い場合はメソッド名だけで結構です。

 オブジェクト名.メソッド名(引数1, 引数2, ...) オブジェクト名.メソッド名 

またドット「.」の代わりにコロン(:)を2つ続けて次のように記述することも出来ます。

 オブジェクト名::メソッド名(引数1, 引数2, ...) オブジェクト名::メソッド名 

どちらの形式も違いはありませんので、どちらかに統一して利用すればいいと思います。


JDOMを使用してXMLタグを削除する方法

オブジェクトを作成する為に使用した「new」メソッドはクラスに対して実行しました。例えば「Car.new()」のようにです。このようなメソッドはクラスに対して実行するクラスメソッドと呼ばされます。今回のようにクラス内に定義したインスタンスメソッドはクラスから作成したオブジェクトに対して実行する点が異なっていることに注意して下さい。

サンプルプログラム

では実際に試してみます。

ClassTest3.rb

 class Car   def dispClassname     print("Car class¥n")   end    def dispString(str)     print(str, "¥n")   end end  car = Car.new() car.dispClassname car.dispString("crown") 

上記を実行すると次のように表示されます。

インスタンスメソッド



These are our most popular posts:

JavaFAQ: インタフェース/アブストラクトクラス - interface/abstract class

interface って何ですか? [S015 A-01] ... クラスがインタフェースの実現方法を含んで いることを示すために implements キーワードの後にインタフェース名を書きます。 ... インタフェースのメソッドを利用する際には、必ず実装したクラスをインスタンス化します。 read more

第1回 「オブジェクト,クラス,インスタンスの関係」 - ITプロフェッショナル ...

2002年11月27日 ... 「オブジェクトとは何か」──。だれもが,まず悩むこの問題。「クラス」,「インスタンス」 という概念と「オブジェクト」はどう違うのかが疑問になる。さらに ... 今,地上にいる私 たちが理解できず苦しんでいるのを見て見ぬ振りするおつもりですか。 read more

クラスとオブジェクトのインスタンス

インスタンスとは何か? クラスモジュールに定義されているオブジェクトを利用したい 場合は、「オブジェクト変数」という特別な変数を用意し、それをオブジェクト ... 前に付い ている Set は、「オブジェクトインスタンスの代入」である場合に必要なキーワードです。 read more

クラスとインスタンスの違いはなんですか ...

参考URLの1つから引用すれば たい焼きの鋳型がクラスであり、 中身を詰めて焼く作業 がインスタンス生成、 焼き上がった個々のたい焼きはインスタンス 文字の説明だと ややこしく感じるかもしれませんが、実際に使えば違いが実感できるんじゃ ... read more

Related Posts



0 コメント:

コメントを投稿