比方说,我有三个类:A
,B
和C
.
我C
在一个实例A
和一个实例上创建一个实例B
:
class A; end
class B; end
class C; end
a = A.new
b = B.new
a.c = C.new
b.c = C.new
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式找到父母吗?像这样:
a.c.parent #=> instance of A ( a == a.c.parent )
b.c.parent #=> instance of B ( b == b.c.parent )
Run Code Online (Sandbox Code Playgroud)
这样的事情存在吗?
因为在您的示例中,A.c=
尚未定义,您可以将其定义为:
class A
attr_reader :c
def c=(x)
@c = x
x.parent = self
end
end
Run Code Online (Sandbox Code Playgroud)
并attr_accessor :parent
在课堂上定义C
.
Ruby中没有"所有权"关系,因此您必须自己建模.
归档时间: |
|
查看次数: |
45 次 |
最近记录: |