我想知道如何在另一个类的一个类的实例中调用方法。
这就是我想出的
class ClassA
def method
return "This is a method_from_class_A"
end
end
class ClassB
def initialize
@method_from_class_A=instance.method
end
def method_calls_method
@method_from_class_A
end
end
instance=ClassA.new
instance2=ClassB.new
puts instance2.method_calls_method
但是我得到这个错误:
initialize': undefined local variable or method
来自Testing.rb:19:innew' from Testing.rb:19:in
的#(NameError)的Testing.rb:9:in实例
我该如何解决?
谢谢您的答复。
根据您的描述,这似乎是您想要的:
class ClassB
def initialize
@instance_of_class_a = ClassA.new
end
def method_calls_method
@instance_of_class_a.method
end
end
或传入ClassA
实例(这称为依赖注入):
class ClassB
def initialize(class_a_instance)
@instance_of_class_a = class_a_instance
end
def method_calls_method
@instance_of_class_a.method
end
end
instance_a = ClassA.new
instance_b = ClassB.new(instance_a)
puts instance_b.method_calls_method
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句