# Ruby 實體變數與類別變數 ## 實體變數 (instance variable) 1. 實體變數是 @ 開頭的 2. 實體變數存活在每個獨立的實體內 3. 在實體裡面可自由取用的變數,實體外不行 4. Ruby 可以適時的省略小括號,方法看起來像屬性,Ruby是沒有屬性的 範例 ```ruby= class Cat ##建立Cat類別 def initialize(name) @name = name #指定實體變數 end def name #getter @name end #ruby沒有屬性,所以=視作方法的一部分 def name= (sayname) #setter @name = sayname end end kitty = Cat.new("kk") ##長出kitty實體方法 puts kitty.name #印出kk puts kitty.name = ("kkkkk") #印出 kkkkk ``` attr_reader/attr_writer/attr_accesssor 可以簡化getter和writer,做出可讀可寫的方法 ```ruby= class Cat # attr_reader :name # getter # attr_writer :name # setter attr_accessor :name #結合 attr_reader 跟 writer def initialize(name) @name = name end end kitty = Cat.new("kk") puts kitty.name puts kitty.name = "nancy" ``` ## 類別變數 Class variable 1. 實體變數是 @@ 開頭的 2. 類別變數是在類別方法中可以取用的變數 3. 在實體裡面可自由取用的變數,實體外不行 4. Ruby 可以適時的省略小括號,方法看起來像屬性,Ruby是沒有屬性的
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up