类方法和类变量

类方法

方法一

class HelloWorld
    class << HelloWorld
        def hello name
            p "#{name} is me~"
        end
    end
end

HelloWorld.hello "Aaron"

=begin
#这样也可以
class HelloWorld
end

class << HelloWorld
  def hello name
    p "#{name} is me~"
  end
end
=end

方法二

class HelloWorld
    class << self
        def hello name
            p "#{name} is me~"
        end
    end
end

HelloWorld.hello "Aaron"

方法三

class HelloWorld
    def HelloWorld.hello name
        p "#{name} is me~"
    end
end

HelloWorld.hello "Aaron"

=begin
#这样写也是可以的
class HelloWorld
end

def HelloWorld.hello name
    p "#{name} is me~"
end
=end

方法四

class HelloWorld
    def self.hello name
        p "#{name} is me~"
    end
end

HelloWorld.hello "Aaron"

类常量

class HelloWorld
    Version = "1.0"
end

p HelloWorld::Version
#=> 1.0

类变量

class HelloCount
    @@count = 0

    #读取调用次数,只有这种方式外部才能访问到
    def self.count
        @@count
    end

    #自增
    def hello
        @@count += 1
    end
end

p HelloCount.count
#=> 0

aaron = HelloCount.new
ruby = HelloCount.new
python = HelloCount.new

aaron.hello
ruby.hello
python.hello

p HelloCount.count
#=> 3