前回の記事Ruby メソッド def self.XXXX のselfってなに?で書いた内容の続きです。
インスタンスメソッドとクラスメソッドの違いや使い分けについて
説明していきます。
- インスタンスメソッドは他インスタンスで扱ったデータを扱う事ができるメソッド
- クラスメソッドは他インスタンスで扱ったデータは扱えず独立したメソッド
実装例は以下のとおりです。
class Test def initialize(name) @name = name end # Testクラスに関連する他インスタンスのデータを使うメソッド # インスタンスメソッド def get_name puts "私は#{@name}です" end # Testクラスに関連はするが他インスタンスに含まれるデータを使わない # 独立したメソッド # クラスメソッド def self.view_name(name) puts "私は#{name}です" end end test = Test.new('Mike') test.get_name # => 私はMikeです Test.view_name('Mike') # => 私はMikeです
うまく使い分けて使っていきたいですね(*^^*)
参考になれば幸いです(*^^*)