Ruby语言class方法与superclass方法的介绍

class方法

当想知道某个对象是哪个类的实例时,我们可以使用class方法。

irb(main):001:0> p "Hello world".class
String
=> String
irb(main):002:0> p 5.class
Integer
=> Integer
irb(main):003:0>

superclass方法

当想知道某个子类(subclass)继承哪个父类(superclass),我们可以使用superclass方法。

File.superclass          #=> IO
IO.superclass            #=> Object
Object.superclass        #=> BasicObject
class Foo; end
class Bar < Foo; end
Bar.superclass           #=> Foo

当被给予的类没有父类时,将返回nil值。

BasicObject.superclass   #=> nil

注:父类(superclass)又称为超类,但笔者认为父类更贴切。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/rubye/1522.html

(2)
上一篇 2020年7月28日 01:17
下一篇 2020年7月29日 00:53

相关推荐

  • rbenv和ruby-build以及rbenv-gemset的介绍

    1.rbenv是什么?ruby-build是什么?rbenv-gemset是什么? rbenv是ruby版本管理工具,相当于rvm的管理功能,并不支持rvm的ruby安装功能和gemset功能,需要安装ruby-build插件来安装ruby,安装rbenv-gemset插件来支持gemset功能,ruby-build相…

    Ruby经验 2020年8月10日
    09370
  • Ruby中Core API(核心类库)和Standard Library API(标准类库)的区别

    区别1: Ruby Core API(核心类库)包含了基础的类和模块,而Standard Library API(标准类库)包含了除了核心类库以外的类库,两者非包含与被包含关系,核心类库包含了一些最常用的类和模块,标准类库是对核心类库的补充,标准类库里面的类和模块因为开发者的需求不同而被调用。如下图: 区别2: 核心类…

    Ruby经验 2020年7月26日
    09640
  • Ruby中self的意义

    如果self在类的代码体中,但是在任何实例方法定义体外,self表示定义的当前类。 如果self在实例方法定义体内,self表示定义的当前实例。

    Ruby经验 2020年7月27日
    02930

发表评论

登录后才能评论