作者larrywhy (壞)
看板Ruby
標題[問題] 關於類別宣告建構子..
時間Mon Aug 1 11:00:10 2011
環境:
Ruby 1.9.1
狀況:
請問ruby 宣告 建構子 , 如何做到overloading 呢?
我在宣告 不同的constructor的時候會出錯, 還是它不像java一樣
可以宣告多個 constructor?
code:
-----------------------------------------------
class Car
#未傳入的constuctotor
def initialize
@color = "red"
end
#傳入一個引數的constructor
def initialize(color)
@color = color
end
def get_color
return @color
end
end
moto = Car.new("blue")
puts moto.get_color
--------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.40.163
1F:→ ducksteven:define initialize(color="red") 08/01 11:06
2F:→ ducksteven: ^^^ 多三個字 QQ 08/01 11:07
3F:→ larrywhy:不懂 要打define 宣告? 我打了似乎不行.. 08/01 11:12
4F:推 aquarianboy:Ruby並沒有支援function overloading 08/01 11:16
5F:→ aquarianboy:不過你宣告不同的initialize應該不會出錯 08/01 11:20
6F:→ aquarianboy:後面的def會蓋掉前面的def,但不會有錯 XD 08/01 11:21
7F:→ larrywhy:沒有function overloading的話 那不就要自己去改= =? 08/01 11:28
8F:→ ihower:這也算是Ruby FAQ了吧 XD 請參考本版 1427, 1428 08/01 11:39
9F:→ larrywhy:抱歉= = 我一開始爬文只注意overload.... 太久沒碰中文XD 08/01 12:47
10F:→ ducksteven:不,我是說我一樓推文多打三個字 orz 08/01 12:53