<二> Ruby的类的类实例变量、类实例方法和类变量、类方法的区别

    二.  类方法和类的类实例方法

 

     在上一篇文章中,我们讲了类变量和类的类实例变量之间的区别和各自的使用场景。在本文中将介绍一下类方法和类的类实例方法,从表面上来看可能认为二者之间的关系类似于变量间的区别,但是字面上的理解往往具有很大的欺骗性。实际上,二者并没有任何区别,它们本质上是同一个东西的两种不同的定义。我们还是从代码上来看看...

 

 

class A   
 
   #class's class instance method
   class<<A
     def method1
       puts "Class's Class instance method"
     end
   end
   
   #class method
   def A.method2
       puts "Class mthod!"
   end  
end  
  
  
class B<A     
end  


A.method1
A.method2

B.method1
B.method2

 

   程序运行的结果如下:

 

 

Class's Class instance method
Class mthod!
Class's Class instance method
Class mthod!

 

  从结果中我们可以看出,二者之间并没有任何区别。都可以被子类访问。而没有像类变量和类的类实例变量那样的区别。但是,我们应该选者那种定义方式来定义我们的类方法呢?毫无疑问,应该选者清晰易懂的方式------类方法,尽量不要使用类的类实例方法那样的方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值