ruby中类的层级关系
所有的类最终继承于Object,Object本身又继承于 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)时,或者当成命名空间时。
类:当希望被实例化或者继承时。
相关推荐
PMJ0 2020-10-13
longzhiwen 2020-09-06
yangxingstar 2020-08-31
LUCIEN0 2020-08-17
huangzihao00 2020-08-17
Jan 2020-08-17
AndesStay 2020-06-12
afengxg 2020-06-09
zamesking 2020-06-09
afengxg 2020-06-09
何志文 2020-06-09
teresalxm 2020-06-05
何志文 2020-05-16
何志文 2020-05-11
fsl 2020-05-04
JOO 2020-04-26
倩 2020-04-22
afanti 2020-04-19
始终不够 2020-04-10