gr8vyguy@Blogjava

          Ruby學習筆記2,第三章

          類定義
            class Song
              def initialize(parameters)   # constructor
                @name = .                         # instance field variable
              end
            end
          object.inspect      #  查看一個實例的內部信息
          object.to_s           # Java Object.toString()

          繼承
            class KaraokeSong < Song     # < 表示繼承
            end

          Getter
            attr_reader :name, :artist

          Setter
            def name= name
               @name = name
            end
          song.name = newName

            attr_writer :name

          類變量
            @@class_var = .

          類方法
            def Class.method
            constructor其實就是一個類方法, ClassName.new

          Singleton類
            class Singleton
              private_class_method :new   # 重定義constructor的可見度為private
              @@singleton = nil                   # 初始化一個Class變量

              def create
                 @@singleton = new unless @@singleton      # new一個,除非@@singleton不為nil
                 @@singleton    # 不能省略,雖然@@singleton = new會返回@@singleton,但是第二次調用create時,
                                         # @@singleton = new并不執行
              end
            end

          private可見度
            只能是當前實例,即self,即使是同一類的其他實例也不可以(這和其他大多數的面向對象語言不同)
            比如f是F類的一個private方法
            class F
               def test()
                  obj = F.new
                  obj.f   # 這在ruby中是不行的, 但是只有test被調用時,才會有NoMethodError
                  f         # 沒有問題,這是self.f
               end
            end

          變量
            person = "Tim"
            person.object_id    => person的id
            person.class            => person的類,即String

            person.dup             => Clone一個實例
            person.freeze         => 凍住,不能再修改


          轉載請保留http://www.aygfsteel.com/xilaile/archive/2007/05/06/115603.html


          posted on 2007-05-06 11:51 gr8vyguy 閱讀(387) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2007年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          公告

        1. 轉載請注明出處.
        2. msn: gr8vyguy at live.com
        3. 常用鏈接

          留言簿(9)

          隨筆分類(68)

          隨筆檔案(80)

          文章分類(1)

          My Open Source Projects

          搜索

          積分與排名

          最新評論

          主站蜘蛛池模板: 新竹市| 汝南县| 金门县| 江门市| 白城市| 轮台县| 中宁县| 科尔| 玉龙| 澄江县| 泾川县| 玛沁县| 潜江市| 桃源县| 沾化县| 阜平县| 宽甸| 福安市| 佛学| 醴陵市| 景东| 云和县| 安康市| 铁岭县| 罗甸县| 平遥县| 吉水县| 大渡口区| 额尔古纳市| 黔江区| 习水县| 汽车| 隆德县| 莎车县| 搜索| 金平| 亚东县| 金塔县| 那坡县| 乐平市| 永嘉县|