0

質問はタイトル通りです。以下に簡単な例があるとしましょう。

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

wheels母のライターメソッドを呼び出すには、どちらの方法が正しいか、またはより良いと考えられるのか興味があります Vehicleか?

4

1 に答える 1

3

self.wheels = 4内部的にはセッターメソッドを呼び出しているため、より柔軟性があります。self.wheels=(4)

したがって、に配置する前に値を使用して何かを実行したい場合は@wheels、その関数を定義できます。

def wheels=(val)
  # do something
  @wheels = new_val
end
于 2011-09-30T03:09:28.677 に答える