濮阳杆衣贸易有限公司

主頁 > 知識庫 > Ruby中類變量和實例變量的比較

Ruby中類變量和實例變量的比較

熱門標簽:電銷機器人廠商代理 常德電銷平臺外呼系統(tǒng)軟件價格 地圖標注賺錢項目注冊 滴滴外呼系統(tǒng) 高德地圖標注客服 徐州網絡外呼系統(tǒng)哪個好 百度地圖標注自定義圖片 湖州u友防封電銷卡 白銀外呼paas系統(tǒng)

1、類變量名以@@開始,一個類變量被這個類所有的實例對象共享;實例變量名以@開始,每個實例對象有各自不同的實例變量;

2、類變量在使用前必須初始化,否則在使用時會報錯;而實例變量如果沒有初始化,則使用時返回nil;

3、類變量是私有的,在類外無法直接訪問,可以通過類方法和實例方法訪問;

復制代碼 代碼如下:

class B
    @@number = 11
    @@num = 22
 
    def my_method      #定義實例方法
        puts @@number
    end
 
    def self.my_method  #定義類方法
        puts @@num
    end
end
 
b = B.new()
puts b.my_method() #通過實例方法訪問類變量  => 11
puts B.my_method() #通過類方法訪問類變量    => 22

4、實例變量也是私有,無法在類外直接引用,可以通過類方法和實例方法訪問;

復制代碼 代碼如下:

class B
      @num  = 11    #實際上這是“類的實例變量”
      @test = 22
      def my_method      #定義實例方法
          puts @num = 33 #跟前面定義的@num不在一個作用域   =>33
          puts @test     #跟前面定義的@test不在一個作用域里,未賦初值,因此返回nil 
          puts @new = 567  #在實例運行my_method時才定義的實例變量 =>567
      end
      def self.my_method      #定義類方法
         puts @num        #這里的@num就是前面定義過的@num  =>11
         puts @test       # =>22
     end
 end
 
 b = B.new()
 
 b.my_method
 puts "--------------------"
 B.my_method

您可能感興趣的文章:
  • Ruby基本的環(huán)境變量設置以及常用解釋器命令介紹
  • Ruby中變量引用時的一些注意點
  • 詳細解析Ruby中的變量
  • Ruby 中$開頭的全局變量、內部變量、隱藏變量介紹
  • ruby 局部變量
  • ruby 實變量
  • 深入分析Ruby 變量

標簽:張家界 三沙 梧州 普洱 荊門 公主嶺 永州 遼寧

巨人網絡通訊聲明:本文標題《Ruby中類變量和實例變量的比較》,本文關鍵詞  Ruby,中類,變量,和,實例,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby中類變量和實例變量的比較》相關的同類信息!
  • 本頁收集關于Ruby中類變量和實例變量的比較的相關信息資訊供網民參考!
  • 推薦文章
    佳木斯市| 教育| 新邵县| 车险| 紫云| 札达县| 揭东县| 襄樊市| 东台市| 印江| 宁安市| 淮南市| 隆昌县| 虞城县| 商南县| 北安市| 竹山县| 霸州市| 沁源县| 东兴市| 宝应县| 枣庄市| 浦东新区| 安乡县| 牡丹江市| 肇州县| 太白县| 香河县| 天峨县| 南雄市| 涞源县| 鄂温| 浮梁县| 天津市| 济阳县| 洛隆县| 成安县| 夏邑县| 襄城县| 色达县| 泾川县|