亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Ruby中實例變量與類變量有什么區別?

Ruby中實例變量與類變量有什么區別?

守著一只汪 2018-07-16 13:14:51
本人初次涉獵Ruby on Rails ,之前只有c和c++的基礎,對于Ruby中實例變量和類變量的區別和用處不太清楚,希望懂行的人指教下~
查看完整描述

1 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

以@開始的變量是【實例變量】,實例變量屬于特定的對象。

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

類變量是私有的,在類外無法直接訪問,你只能通過實例方法和類方法去訪問它。


查看完整回答
反對 回復 2018-08-26
  • 1 回答
  • 0 關注
  • 884 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號