• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Ruby-模块和类

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

首先看下他们的关系

  1. irb(main):100:0> String.class
  2. => Class
  3. irb(main):101:0> String.class.superclass 
  4. => Module
  5. irb(main):102:0> String.class.superclass.superclass 
  6. => Object

class < Module < Object

1、类 只能单继承,但是可以包含多个模块

module AA
  def AA.prints1(str)
    print "A:"+str
  end
end


module BB
  def BB.prints2(str)
    print "B:"+str
  end
end

class CC
  include AA
  AA.prints1("aa")
  include BB
  BB.prints2("bb")
end

2、模块 就和c#接口类似,包含一些公共接口方法,无法实例化

类调用模块的两种方式

A.rb 在方法前加 模块名.方法名 (AA.prints1) , 在其引用类中就可以直接调用 AA.prints1

module AA
  def AA.prints1(str)
    print "A:"+str
  end
end

B.rb 如果没有加模块名则需要在其引用类中添加 include BB把方法包含进引用类中,相当于继承了方法,然后就可以直接调用了prints2

module BB
  def prints2(str)
    print "B:"+str
  end
end


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
基于Ruby的watir-webdriver自动化测试方案与实施(三)发布时间:2022-07-13
下一篇:
ruby watir校内自动加好友代码发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap