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

主頁 > 知識庫 > Ruby面向對象編程中類的方法與類的擴展

Ruby面向對象編程中類的方法與類的擴展

熱門標簽:真人語音電銷機器人系統 北京語音電銷機器人價格 樂昌電話機器人 買了外呼系統不想用了怎么辦 電話機器人電話卡封號怎么辦 開封百應電銷機器人聯系方式 邯鄲外呼調研線路 浦東上海400開頭的電話申請 武漢呼叫中心外呼系統線路商

類方法

類方法其實質是生活在該類的單件類中的單件方法。其定義方法有三種,分別是:

# 法一
def MyClass.a_class_method; end


# 法二
class MyClass
  def self.anther_class_method; end
end


# 法三*
class MyClass
  class  self
    def yet_another_class_method; end
  end
end

其中第三種方法道出了,類方法的實質,特別記憶一下!

類擴展

類擴展通過向類的單件類中添加模塊來定義類方法。

module MyModule
  def my_method; ‘hello'; end
end

class MyClass
  class  self
    include MyModule
  end
end

MyClass.my_method

上面代碼展示了具體類擴展的實現方式,將一個MyModule模塊引入到MyClass類的單件類中,因為my_method方法是MyClass的單件類的一個實例方法,這樣,my_method方法也是MyClass的一個類方法。

對象擴展

類方法是單件方法的特例,因此可以把類擴展這種技巧應用到任意對象上,這種技巧即為對象擴展
 

# 法一: 打開單件類來擴展
module MyModule
  def my_method; ‘hello'; end
end

obj = Object.new
class  obj
  include MyModule
end

obj.my_method  # => “hello”
obj.singleton_methods  # => [:my_method]
# 法二:Object#extend方法
module MyModule
  def my_method; ‘hello'; end
end

obj = Object.new
#對象擴展
obj.extend MyModule
obj.my_method  # => “hello” 
#類擴展
class MyClass
  extend MyModule
end

MyClass.my_method # => “hello”

Object#extend是在接受者的單件類中包含模塊的快鍵方式。

您可能感興趣的文章:
  • Ruby面向對象編程中類與方法的基礎學習
  • 簡要解讀Ruby面向對象編程中的作用域
  • Ruby的面向對象方式編程學習雜記
  • Ruby的面向對象編程的基礎教程
  • Ruby面向對象編程詳解
  • ruby 面向對象思維 概念
  • Ruby 面向對象知識總結

標簽:宜春 六安 自貢 松原 淄博 鄂州 河北 石嘴山

巨人網絡通訊聲明:本文標題《Ruby面向對象編程中類的方法與類的擴展》,本文關鍵詞  Ruby,面向,對象,編程,中類,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby面向對象編程中類的方法與類的擴展》相關的同類信息!
  • 本頁收集關于Ruby面向對象編程中類的方法與類的擴展的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 文成县| 清苑县| 宜兰市| 靖宇县| 渝北区| 公安县| 秭归县| 洞头县| 台北县| 嵊州市| 沙洋县| 农安县| 成武县| 房产| 海丰县| 福安市| 吕梁市| 手游| 北京市| 元朗区| 邵阳县| 平江县| 灵台县| 石家庄市| 板桥市| 特克斯县| 河东区| 潜山县| 天峻县| 武冈市| 峨眉山市| 微山县| 观塘区| 且末县| 汝州市| 浦东新区| 若羌县| 孝义市| 南溪县| 铜梁县| 台前县|