gpt4 book ai didi

ruby - 从父类继承的嵌套类

转载 作者:太空宇宙 更新时间:2023-11-03 17:21:33 25 4
gpt4 key购买 nike

我看到了这样的东西this library :

class A
# ...
class B < A
# ...
end
end

这不奇怪吗?我得到的概念是您可以在其他类中声明类,但那些嵌套类继承自父类。这不像是无限循环吗?

也许它比看起来更简单,但是这张图片让我犹豫了很多。我是否遗漏了一些隐藏的好处,或者我不知道的特殊 Ruby 习语?

最佳答案

命名空间和子类化是两个不同的东西。他们彼此没有关系。

通过做:

class A
class B
end
end

您在 A 的命名空间中定义了 B,因此 A::B(但 B 不是A 的子类;实际上它是 Object 的子类)。

通过做:

class A
end

class B < A
end

您将B定义为A的子类(但B不在A的命名空间中;事实上,它位于主环境 ::(或 Object::)的命名空间中。

在你的例子中:

class A
class B < A
end
end

两者同时发生,但又相互独立,并不矛盾。

关于ruby - 从父类继承的嵌套类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35777735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com