Project1

标题: 脚本中module和class在应用上有什么区别? [打印本页]

作者: 至高无上    时间: 2014-7-17 05:06
标题: 脚本中module和class在应用上有什么区别?
都可以定义自己的方法,模块除了调用方法不用生成实例以外,和类还有什么区别?
作者: taroxd    时间: 2014-7-17 05:51
本帖最后由 taroxd 于 2014-7-17 08:44 编辑

模块不能生成实例;类不能被include。类可以且只可以有一个父类,模块没有父模块啥的:类的singleton_class的父类是父类的singleton_class。主要就是这个。

模块用于命名空间和混入,类用于生成实例。这就是应用上的主要区别
作者: 克莉丝    时间: 2014-7-17 06:47
本帖最后由 克莉丝 于 2014-7-17 06:48 编辑

Class: 小明,李华,你都是人类
                小明今天的早饭是早苗的面包
                李华今天的早饭是秋子阿姨的果酱
                你今天的早饭是瑞希同学的黑暗料理

                小明数学能考149
                李华数学能考115
                你数学能考69

                小明是人类,小明会讲中国话,人类是哺乳动物,所以小明不会生蛋(
module:  桌上有一把刀
              小明拿刀捅了你一刀
              小明把刀给了李华
              李华拿刀捅了你一刀
              李华把刀洗了洗给你
              以上均为胡扯

              
作者: 忧雪の伤    时间: 2014-7-17 12:29
模块除了调用方法不用生成实例以外
  1. class << klass = Class.new
  2.   def balabala;  true;  end
  3. end
  4. klass.balabala
复制代码
  1. module Mod
  2.   def balabala;  true; end
  3. end
  4. Mod.balabala
复制代码
UI> 可见楼主连浅层上都没有理解。





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1