ruby中类的层级关系

所有的类最终继承于ObjectObject本身又继承于 BasicObject。BasicObject是ruby对象体系中的根节点。

 

 

'hello'.class
=> String
String.class
=> Class

String.superclass
=> Object
Object.superclass
=> BasicObject
BasicObject.superclass
=> nil

 

 

Class.superclass
=> Module
Module.superclass
=> Object

 因此,一个类只不过是一个增强的Module,增加了几个方法(new(),allocate(),superclass()等等),其中allocate()方法是new()方法的支撑方法。这几个方法可以创建对象并且可以把它们纳入到类体系结构中。

 

一个模块基本上就是一组实例方法,而类是增加了若干新功能(一个superclass()方法和一个new()方法)的模块。

 

模块和类的使用场景:

模块:希望它应该在别处被包含(include)时,或者当成命名空间时。

类:当希望被实例化或者继承时。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值