在 Ruby 中,“class ClassName <”这一行代表什么?基地”在此上下文中的意思
给定代码,
require 'gdata'
class Contacts
class Gmail < Base
当我们说“< Base”时,它意味着什么?它是否意味着从模块 gdata 中定义的 Base 类继承,在这种情况下,不会与可能需要的其他模块发生冲突。
或者还有别的意思吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
基数没有特殊含义。
除非在 gdata 中定义了名为 Base 或 Contacts::Base 的类,否则该示例应该生成错误。
Base has no special meaning.
Unless a class called Base or Contacts::Base is defined in gdata, that example should generate an error.
Gmail
类只是一个普通的嵌套类定义,它恰好是Base
的子类。显然Base
是在文件gdata
中的某处定义的,但没有任何地方说gdata
是 Ruby 模块,并且,如果它是一个模块,您没有显示它被混合到(使用include
)Contacts
,所以我不确定是否存在任何冲突担心。The class
Gmail
is just a normal nested class definition, that happens to be a subclass ofBase
. ApparentlyBase
is defined somewhere in the filegdata
but nowhere does it say thatgdata
is a Ruby module and, if it were a module, you did not show it being mixed into (withinclude
)Contacts
so I'm not sure there are any conflicts to worry about.