当我对孩子调用实例方法但孩子尚未定义它时,我想引发异常。给定代码:
class Parent
def foo
'hihi'
end
end
class Child < Parent
end
是否可以以Child.new.foo
不同的方式调用会引发此异常?
我明白我可以
class Parent
def foo
unless self.class.instance_methods(false).include? :foo
raise Exception.new("Child didn't define foo!")
end
'hihi'
end
end
我想知道如果没有这个是否可以做到这一点,以及我将在哪里实际执行Child.new.foo
呼叫。
谢谢!