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

          搜索

          積分與排名

          最新評論

          主站蜘蛛池模板: 丰城市| 石家庄市| 怀化市| 紫金县| 象山县| 安陆市| 宣恩县| 长武县| 石渠县| 日照市| 怀宁县| 富锦市| 渭源县| 宜丰县| 珲春市| 舟曲县| 黄梅县| 佛教| 邻水| 木里| 诏安县| 克拉玛依市| 南溪县| 乌拉特中旗| 衡阳市| 都兰县| 互助| 高尔夫| 五河县| 泸溪县| 久治县| 霍城县| 尚义县| 原平市| 榆社县| 合作市| 六盘水市| 徐闻县| 南京市| 扎囊县| 南川市|