婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ruby 模塊

ruby 模塊

熱門標簽:巫師3地圖標注魔力之所 中牟外呼系統違法嗎 柯城手機地圖如何做地圖標注 AI電銷機器人 線路 征服者企業地圖標注 天津外呼系統怎么收費 漯河電銷 外呼線路從哪里出來的 淮安自動外呼系統供應商
 Ruby的模塊非常類似類,除了:



模塊不可以有實體 

模塊不可以有子類 

模塊由module...end定義.


實際上...模塊的'模塊類'是'類的類'這個類的父類.搞懂了嗎?不懂?讓我們繼續看下去吧.

模塊有兩種用法.其一是將相近的方法和實體放在一個相對集中的域里.Ruby標準包里的Math模塊就扮演著這一角色:

ruby> Math.sqrt(2)
   1.41421
ruby> Math::PI
   3.14159  


::操作符告訴 Ruby 解釋器在哪里找常數的值(可以想像,Math外的其它模塊用PI表示其它的一些東西).如果我們想省掉 :: 直接調用一個模塊的方法和常數,我們可以用 include:

ruby> include Math
   Object
ruby> sqrt(2)
   1.41421
ruby> PI
   3.14159  


模塊的另一用法是糅和(mixin).某些OO語言,包括C++,允許多重繼承(multiple inheritance),即從多個的父類里繼承. 現實世界里一個多重繼承的例子是鬧鐘:你可以想像鬧鐘屬于鐘類同是屬于帶蜂音器的事物類.

Ruby并未特意實現真正的多重繼承,但糅和技術是一很好的替代.記得模塊無法實體化或子類化;但如果我們在類定義里include一個方法,
它的方法便實際上已加入,或"糅合"進這個類.

糅合可以視為一種尋求一切我們希望得到的特定屬性的方法.舉個例子,如果一個類有個 each 方法,把標準庫里的Enumerable模塊糅合進來就自然地賦予我們 sort 和 find 兩個方法.

模塊的使用令到我們獲得多重繼承的基本功能卻可通過簡單的樹結構表述類關系,同時也可觀地簡化了語言的實現(Java的設計者也做了一個類似的選擇).  
 
您可能感興趣的文章:
  • Ruby中的block代碼塊學習教程
  • 詳解Ruby中的代碼塊對象Proc
  • Ruby中編寫類與模塊的風格指南
  • Ruby中關于模塊的一些基礎知識
  • 介紹Ruby中的模塊與混合類型的相關知識
  • 詳解Ruby中的塊的知識
  • Ruby中使用SWIG編寫ruby擴展模塊實例
  • 使用Ruby re模塊創建復雜的正則表達式
  • 深入理解Ruby中的代碼塊block特性

標簽:甘孜 棗莊 大慶 河池 克拉瑪依 西雙版納 南昌 內江

巨人網絡通訊聲明:本文標題《ruby 模塊》,本文關鍵詞  ruby,模塊,ruby,模塊,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ruby 模塊》相關的同類信息!
  • 本頁收集關于ruby 模塊的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 灌阳县| 威信县| 华容县| 柳河县| 十堰市| 宝兴县| 遵义县| 盘山县| 石阡县| 兰州市| 射洪县| 怀仁县| 绥芬河市| 赞皇县| 宝坻区| 嘉鱼县| 江都市| 健康| 崇阳县| 平和县| 农安县| 东乌| 芮城县| 临西县| 峨眉山市| 永兴县| 鄂托克旗| 冕宁县| 乌拉特中旗| 镇安县| 宜阳县| 本溪市| 清镇市| 嵊泗县| 竹山县| 石景山区| 昔阳县| 邯郸市| 靖西县| 乌苏市| 河曲县|