我想请问下,既然 Class 的父类是 Module,那 Module.class 就应该是 Module 赛,为什么还是 Class 呢?
顺便@huacnlee,为什么在发贴的时候,里面还保存了上次发贴的内容呢?我记得我是发贴成功了的哦。。。。这个功能应该是做自动保存的吧,毕竟谁也不想写了一大段后,结果意外没有发布成功,而内容又丢失了。既然如此,那么个人觉得在成功发贴后,就可以将保存的最新发贴内容删掉了吧。
嗯?照这样的逻辑,应该是 BasicObject 了。。。 =.=
楼主你果然混乱了,看下面的代码:
class Parent end class Child < Parent end Child.superclass #=> Parent Parent.class #=> Class
如你所问:Child 的父类是 Parent,那 Parent.class 就应该是 Parent ? 完全不明白你在想什么了。
#2 楼 @zzhattzzh 我其实不在乎 module.class 是什么,只是觉得 Class.superclass 既然都是 Module 了,那 Module.class 怎么又成了 Class,那按照这个意思的话,Parent.class 就成了 Child 了
.superclass 是讲继承的关系 .class 是将 类与实例的关系 这是两种不同的关系,楼主搞混了。
要区别类和对象。Module.class 是说的 Module 对象,可以看 Module.object_id。 superclass 是继承关系,是类的关系。 容易混淆。
#4 楼 @xuluan 哦,渐渐的懂了~
Class 的父类是 Module (001);Module 的父类是 Object (003);Object 的父类是 BasicObject (005);BasicObject 没有父类 (007)。 Module 是一个类 (002);Object 是一个类 (004);BasicObject 是一个类 (006)。
#4 楼 @xuluan 言简意赅,很多人的问题其实就是没弄清楚继承和实例化的不同