我想创建一个基类来处理所有方法.在这种情况下,如何使用 ruby实现这一目标? class Dog def initialize @breed = "good breed" end def show_dog puts "#{self.class.first_name} of breed #{@breed}" endendclass Lab Dog a
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
预期的结果将是“品种良种的好狗”
先感谢您 :)
>您需要从子类调用父类的构造函数;它不是自动调用的.
这有效:
class Dog def initialize @breed = "good breed" end def show_dog puts "#{@first_name} of breed #{@breed}" ### <- Changed end end class Lab < Dog attr_reader :first_name def initialize super ### <- Added @first_name = "good dog" end end lb = Lab.new() lb.show_dog