class Parent
def punish!
end
end
class Mom < Parent
end
class Dad < Parent
end
如果我有一个Dad
的实例,但想让它成为Mom
的一个实例,这在Ruby中是否可行?
答案 0 :(得分:2)
如果通过“交换”,则表示在变量的上下文中替换:
parent = Mom.new
parent.punish!
parent = Dad.new
parent.punish!
您可以随时重新分配变量。你不能做的是将一个对象的实例从一个类转换为另一个类。一旦创建,它基本上就停留在那个类中。
此处的相同原则适用于对象属性和可能保存对象引用的其他位置。