【发布时间】:2013-03-28 10:07:57
【问题描述】:
我想创建一个基类来处理所有方法。在这种情况下,我将如何使用 ruby 实现这一目标?
class Dog
def initialize
@breed = "good breed"
end
def show_dog
puts "#{self.class.first_name} of breed #{@breed}"
end
end
class Lab < Dog
attr_reader :first_name
def initialize
@first_name = "good dog"
end
end
lb = Lab.new()
lb.show_dog
预期的结果是“好品种好品种的好狗” 提前谢谢你:)
【问题讨论】:
-
对于 ruby,您只需要执行
first_name即可调用 first_name 方法 - 在某些情况下,它不像 C++,您需要明确说明要调用的 first_name 的实现。 self.class.first_name 尝试调用名为 first_name 的类方法。
标签: ruby class inheritance