初始化调用其母亲的实例方法的对象的正确方法是什么?

问题描述:

问题在于标题。说我有下面一个简单的例子:初始化调用其母亲的实例方法的对象的正确方法是什么?

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 

我很好奇它的方法是正确的或更好的调用 母亲Vehiclewheels作家方法?

self.wheels = 4是更加灵活,因为引擎盖下它调用setter方法:self.wheels=(4)

所以,如果你曾经想要做的有价值的东西之前,它被放置到@wheels,您可以定义功能:

def wheels=(val) 
    # do something 
    @wheels = new_val 
end