Ruby中module和Class的区别

上一篇 / 下一篇  2009-09-09 16:22:13 / 个人分类:Ruby && Watir

   1、模块和类的区别在于,模块不能实例化,类不能include 51Testing软件测试网P;oE$c2rh+r.CP

  2、如果模块和类不在同一个文件中,如果要使用include,则先使用require,把文件引入。

wn+_II;X$IU&zm b0

+K%F}9n+[7f`*LX0  3、include并不是简单的将模块的实例变量和方法拷贝到类中,而是,它是建立一个由类到所包含模块的引用。如果多个类引用该模块,都将指向同一个模块。

"AG&s(wK0 51Testing软件测试网m#B!JrN)A{&{

  4、如果有多个include,将依次生成代理类,最后一个include的将是该类的直接超类,依次向上衍生51Testing软件测试网|/g)hr/P%]2w

(f-BE0CX0  5、含有include的模块或类定义,可以访问它所包含的常量,类变量和实例方法。如果一个模块被包含,那么模块的常量,类变量,实例方法都被绑定到该类的一个匿名超类中,类的对象会响应发送给模块实例方法的消息。

%GZYLy E0 51Testing软件测试网'n H8~)e#q `

  6、模块里可以定义一个initialize方法,当创建包括模块的类的对象是,如果满足如下条件之一,那么模块的该方法将被调用

2WVM K(C0F%d0 51Testing软件测试网7nqe7oY(^6LC A1q

  a、类没定义它自己的initialize方法51Testing软件测试网V6b a0~8u F2A\

51Testing软件测试网bg,I$au A'I;fo

  b、类的initialize方法中调用了super51Testing软件测试网)z(D`I&j`M|


TAG: class module Ruby Class Module

 

评分:0

我来说两句

日历

« 2022-01-20  
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

数据统计

  • 访问量: 37992
  • 日志数: 47
  • 建立时间: 2009-09-03
  • 更新时间: 2010-06-10

RSS订阅

Open Toolbar