Ruby的类实例化让我头疼。我知道在给定这个...
class Foo
@var = 'bar'
end
...@var
是创建类实例的变量。
但是我如何创建可重写的子类变量?
这是一个在Python中的示例:
class Fish:
var = 'fish'
def v(self):
return self.var
class Trout(Fish):
var = 'trout'
class Salmon(Fish):
var = 'salmon'
print Trout().v()
print Salmon().v()
输出结果为:
trout
salmon
在Ruby中如何做同样的事情?
@@var
,那么子类将会覆盖父类。请参考hobodave的链接。特别是例子中的'2'是如何被覆盖的。 - docwhat