美文网首页
Ruby 类方法

Ruby 类方法

作者: changsanjiang | 来源:发表于2017-10-21 11:08 被阅读16次

方法的接收者是类本身(类对象)的方法称为类方法. (类方法的操作对象不是实例, 而是类本身).
下面我们在 class << 类名 ~ end 这个特殊的类定义中, 以定义实例方法的形式来定义类方法.

class HelloWorld
end

class << HelloWorld
  def hello(name)
    puts "#{name} said hello."
  end
end
HelloWorld.hello("John") #=> John said hello.

除了上述方式以外, 还可以在类定义中追加类方法的定义. 在class语句中使用self时, 引用的对象就是该类对象本身. 因此我们可以使用 class << self ~ end 这样的形式, 在 class 语句中定义类方法. 这种方式很常见.

class HelloWorld
  class << self
      def hello(name)
        puts "#{name} said hello."
      end
    end
  end

除此以外, 我们还可以使用 def 类名 . 方法名 ~ end 这样的形式来定义类方法

def HelloWorld.hello(name)
  puts "#{name} said hello."
end

同样的, 只要在类定义中, 上述形式就可以写成下述形式:

class HelloWorld 
  def self.hello(name)
    puts "#{name} said hello."
  end
end

相关文章

  • From Objective-C to Ruby(4)-类和模块

    类 定义类 OC: ruby: 初始化方法 OC: ruby: 实例变量和属性 OC: ruby: 类方法和对象方...

  • Ruby 类方法

    方法的接收者是类本身(类对象)的方法称为类方法. (类方法的操作对象不是实例, 而是类本身).下面我们在 clas...

  • Ruby中类方法的定义

    Ruby中类方法的定义 方法的接受者就是类本身(类对象)的方法成为类方法。类方法的几种形式如下: 如果以为就是上面...

  • Ruby 方法的分类

    `根据接收者种类的不同, Ruby 的方法可分为以下3类. 实例方法 类方法 函数式方法 实例方法 实例方法是最常...

  • ruby类方法、实例方法、类的继承

  • 《Programming Ruby 第二章 Ruby.new》学

    2.1 Ruby是一门面向对象语言 Ruby是真正的面向对象语言。类是状态和使用这些状态的方法的组合。对象 = 类...

  • Ruby类(二)

    类 Ruby是一种面向对象语言 定义类 类中的变量 Ruby 提供了四种类型的变量: 局部变量:局部变量是在方法中...

  • Ruby元编程(蛋人)

    01 Ruby元编程介绍和使用场景02 Ruby的类结构03 Singleton Method单例方法以及supe...

  • 学习大纲

    1.你可能觉得你已经完全掌握了Ruby 学会了Ruby各种语法(各种数据结构、创建类、创建对象、调用方法、.......

  • Ruby元编程笔记 - 类中的魔法

    Ruby元编程笔记 - 类定义 类定义揭秘 在类定义中,self就是正在定义的类。 所有使用def定义的方法都成了...

网友评论

      本文标题:Ruby 类方法

      本文链接:https://www.haomeiwen.com/subject/eqhiuxtx.html