ポイント
クラスに対して使うメソッドは、『クラスメソッド』
- User.〇〇などクラスに対して、使用できるメソッドをクラスメソッドと呼ぶ。
- メソッド名の前にself.をつける
- インスタンスには使えない
クラス全体で使用できる変数は、「クラス変数」
- クラス内であれば、どこでも使用できる
- @@変数名とする
インスタンスに対して使うメソッドは、『インスタンスメソッド』
- @user.〇〇やuser.〇〇などインスタンスに対して、使用できるメソッドをインスタンスメソッドと呼ぶ。
- クラス内で定義したメソッドは、インスタンスメソッドとなる
インスタンスに対して使用できる変数は、「インスタンス変数」
参考コード
class Team
@@all_teams_member = 0
def self.count_all_team_members
print "全メンバー数は、#{@@all_teams_member}人です"
end
def initialize(coach,lanking)
@coach=coach
@lanking=lanking
@members=[]
end
def join_team(name)
@members.push(name)
@@all_teams_member += 1
end
def print_members()
print @members
end
end
team_usa = Team.new("Mike", 3)
usa_members = %w(Anderson, John, Amanda)
usa_members.each do | member |
team_usa.join_team(member)
end
team_usa.print_members()
team_jp = Team.new("斎藤", 2)
jp_members = %w(宮本, 渡辺, 佐藤)
jp_members.each do | member |
team_jp.join_team(member)
end
team_jp.print_members()
Team.count_all_team_members