初始化调用其母亲的实例方法的对象的正确方法是什么?
问题描述:
问题在于标题。说我有下面一个简单的例子:初始化调用其母亲的实例方法的对象的正确方法是什么?
class Vehicle
attr_accessor :wheels
end
class Car < Vehicle
def initialize
self.wheels = 4
end
end
class Truck < Vehicle
def initialize
@wheels = 16
end
end
我很好奇它的方法是正确的或更好的调用 母亲Vehicle
的wheels
作家方法?
答
self.wheels = 4
是更加灵活,因为引擎盖下它调用setter方法:self.wheels=(4)
所以,如果你曾经想要做的有价值的东西之前,它被放置到@wheels
,您可以定义功能:
def wheels=(val)
# do something
@wheels = new_val
end