3 回答

TA貢獻1890條經驗 獲得超9個贊
以@開始的變量是【實例變量】,實例變量屬于特定的對象。
class Person
def initialize(name, gender, age)
@name = name
@gender = gender
@age = age
end
end
上面的例子中,@name, @gender,@age都是實例變量??梢栽陬惢蜃宇惖姆椒ㄖ幸脤嵗兞?。若引用尚未被初始化的實例變量的話,其值為nil。
【類變量】被一個類的所有實例對象共享,也可以被類方法訪問到。類變量名以‘@@’,開始,例如‘@@number’。和全局變量,實例變量不同,類變量在使用前必須初始化:
class Person
@@number = 0 #使用前必須有初值
def initialize(name, gender, age)
@name = name
@gender = gender
@age = age
@@number += 1
end
end
類變量是私有的,在類外無法直接訪問,你只能通過實例方法和類方法去訪問它。

TA貢獻2003條經驗 獲得超2個贊
以@開始的變量是【實例變量】,實例變量屬于特定的對象。 class Person def initialize(name, gender, age) @name = name @gender = gender @age = age end end 上面的例子中,@name, @gender,@age都是實例變量。
- 3 回答
- 0 關注
- 582 瀏覽
添加回答
舉報