是否可以在 Ruby 中换出几乎相同的 类?
Is it possible to swap out nearly identical classes in Ruby?
class Parent
def punish!
end
end
class Mom < Parent
end
class Dad < Parent
end
如果我有一个 Dad
的实例但想使它成为 Mom
的一个实例,这在 Ruby 中是否可行?
如果 "swap" 是指在变量的上下文中替换:
parent = Mom.new
parent.punish!
parent = Dad.new
parent.punish!
您可以随时重新分配变量。您不能做的是将一个对象的实例从一个 class 变态为另一个。创建后,它基本上停留在 class.
这里同样的原则适用于对象属性和其他可能保存对象引用的地方。
class Parent
def punish!
end
end
class Mom < Parent
end
class Dad < Parent
end
如果我有一个 Dad
的实例但想使它成为 Mom
的一个实例,这在 Ruby 中是否可行?
如果 "swap" 是指在变量的上下文中替换:
parent = Mom.new
parent.punish!
parent = Dad.new
parent.punish!
您可以随时重新分配变量。您不能做的是将一个对象的实例从一个 class 变态为另一个。创建后,它基本上停留在 class.
这里同样的原则适用于对象属性和其他可能保存对象引用的地方。