【发布时间】:2014-08-20 17:19:57
【问题描述】:
嘿,我是 Ruby 的新手。我需要创建一个工厂方法,它将返回一个类的对象。使用该对象,我应该能够访问该类的变量。我已经编写了以下代码,但我肯定错过了一些东西。
class Super
@@super_temp = 1
def Super.get_instance(world)
platform = world
if @@instance == nil
if platform==1
@@instance = BaseA.new
else
@@instance = BaseB.new
end
end
return @@instance
end
end
class BaseA < Super
@@base_temp = 2
end
class BaseB < Super
@@base_temp = 3
end
class Demo
def Demo.call_demo
obj = Super.get_instance(0)
puts "---------temp is #{obj.base_temp}"
end
end
Demo.call_demo
我需要在 Demo 类中检索 base_temp 的值。
【问题讨论】:
-
你为什么要为此使用类变量?在任何情况下,类变量都不是这样工作的——也许可以查看一些讨论基础知识的 Ruby 教程。
标签: ruby oop inheritance factory-pattern class-variables