ruby 的initialize方法 and 實例變量是怎麼樣工作的

initialize:

initialize 是一個ruby程序特別的方法,當類(class)使用new 方法實例化一個新的對象的時候,ruby分配一些內存控制這個未初始化的對象,然後調用這個對象的initialize方法,將傳給new方法的參數傳入initialize方法

note: 你可以在這個方法裏寫一些代碼去設置你的對象


instance_variables:

實例變量(instance_variables)儲存在對象中,並且可以在對象的實例方法中獲得。

代碼例子

    class MyClass
      def initialize(name,desc)
        @name = name
        @desc = desc
      end
      def to_s
        "name: #{@name}, desc: #{@desc}"
      end
    end
    class_1 = MyClass.new("ruby","program")
    puts class_1 #=> "name: ruby,desc: program"

note: puts 打印對象的時候會調用to_s方法 所以可以重寫to_s方法來讓輸出更具有可讀性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章