1 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
以@開(kāi)始的變量是【實(shí)例變量】,實(shí)例變量屬于特定的對(duì)象。
class Person
def initialize(name, gender, age)
@name = name
@gender = gender
@age = age
end
end
上面的例子中,@name, @gender,@age都是實(shí)例變量??梢栽陬?lèi)或子類(lèi)的方法中引用實(shí)例變量。若引用尚未被初始化的實(shí)例變量的話(huà),其值為nil。
【類(lèi)變量】被一個(gè)類(lèi)的所有實(shí)例對(duì)象共享,也可以被類(lèi)方法訪(fǎng)問(wèn)到。類(lèi)變量名以‘@@’,開(kāi)始,例如‘@@number’。和全局變量,實(shí)例變量不同,類(lèi)變量在使用前必須初始化:
class Person
@@number = 0 #使用前必須有初值
def initialize(name, gender, age)
@name = name
@gender = gender
@age = age
@@number += 1
end
end
類(lèi)變量是私有的,在類(lèi)外無(wú)法直接訪(fǎng)問(wèn),你只能通過(guò)實(shí)例方法和類(lèi)方法去訪(fǎng)問(wèn)它。
- 1 回答
- 0 關(guān)注
- 731 瀏覽
添加回答
舉報(bào)