作者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