【发布时间】:2016-04-18 23:42:39
【问题描述】:
class Parent
def punish!
end
end
class Mom < Parent
end
class Dad < Parent
end
如果我有一个Dad 的实例,但想使它成为Mom 的实例,这在Ruby 中是否可行?
【问题讨论】:
-
为什么不可能?
-
@13aal 因为妈妈和爸爸可能有自己的方法和属性集。妈妈怎么变成爸爸了?
-
什么时候换掉?你到底是什么意思?你的意思是如果你有一个妈妈对象,你能对它做点什么,让它成为爸爸吗?
-
这样想吧。你有一个父母都是父母,所以在编程中他们都是从父类继承的。如果您担心它,您可以只创建一个从父类继承的类并将其命名为
MomAndDad或其他名称?
标签: ruby class inheritance metaprogramming