如何在Ruby中将子类变量返回到父类中
发布时间:2020-12-17 01:25:42 所属栏目:百科 来源:网络整理
导读:我想创建一个基类来处理所有方法.在这种情况下,如何使用 ruby实现这一目标? class Dog def initialize @breed = "good breed" end def show_dog puts "#{self.class.first_name} of breed #{@breed}" endendclass Lab Dog attr_reader :first_name def init
|
我想创建一个基类来处理所有方法.在这种情况下,如何使用
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
预期的结果将是“品种良种的好狗” 解决方法
> self.class.first_name不会执行您可能想要执行的操作.您需要直接使用@first_name.
>您需要从子类调用父类的构造函数;它不是自动调用的. 这有效: 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
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
