ruby中的类方法与单例类

类方法

类方法:方法的接受者就是类本身的方法称为类方法。

直白一点来说,类方法不需要实例化得到对象去调用,可以直接通过类名.方法名去调用一个方法。

类方法有三种定义形式

第一种:class << 类名   ~ end

class << Hello

def hello(name)

p "#{name},hello"

end

end

第二种:class << self ~ end

class Hello

class << self

def hello(name)

p "#{name},hello"

end

end

end

第三种:def 类名.方法名 ~ end

def Hello.hello(name)

p "#{name},hello"

end

第四种:类似于第二种

class Hello

def self.hello(name)

p "#{name},hello"

end

end


以上都可以通过

Hello.hello("Nick")


单例类

通过class << 类名   ~ end定义的类也被成为单例类

单例类,类中的方法属于特定的实例。

str1 = "ruby"

str2 = "Ruby"

class << str1

def hello

"Hello,#{self}"

end

end


p.str1.hello        #hello,ruby

p str2.hello       #error


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值