麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

關于ruby對象的初始化的方法介紹

2020-02-24 15:41:10
字體:
來源:轉載
供稿:網友

?本篇文章主要講關于ruby對象的初始化的方法介紹,希望小編整理的相關知識和資料都對你們有所幫助。

前面一節的?Fruit?類有兩個實變量,分別表述水果的類型和狀態.直到為這個類寫了一個定制的inspect方法,我們方才了解它不會對一個缺乏屬性的水果做出合理的解釋.幸運的是,Ruby提供了一種允許實變量總是被初始化的方法.


initalize方法

當Ruby創建一個新對象時,它總是會尋找一個名為?initialize?的方法并執行它.因此,我們可以簡單通過一個initialize方法向實變量中加入缺省值,這樣一來,?inspect方法就有東西可說了.

ruby>?class?Fruit
????|???def?initialize
????|?????@kind?=?"apple"
????|?????@condition?=?"ripe"
????|???end
????|?end
???nil
ruby>?f4?=?Fruit.new
???"a?ripe?apple"??


將缺省的變為需要的

很多時候,缺省值不會有太多的意思.真的是缺省那樣的水果嗎?也許在創造水果的時候對其類型作要求是個更好的辦法.要這樣做,我們就必須給initialize?方法加入一個正式的參數.因為一些不會在此提及的原因,你向?new?傳遞的參數實際上是遞給了initialize.

ruby>?class?Fruit
????|???def?initialize(?k?)
????|?????@kind?=?k
????|?????@condition?=?"ripe"
????|???end
????|?end
???nil
ruby>?f5?=?Fruit.new?"mango"
???"a?ripe?mango"
ruby>?f6?=?Fruit.new
ERR:?(eval):1:in?`initialize':?wrong?#?of?arguments(0?for?1)??


彈性的初始化

上面我們看到一旦一個參數被關聯到一個?initialize?方法上,就無法在避免錯誤產生的情況下將其省掉.如果希望考慮周全,我們可以在給了參數的情況下使用它,否則使用缺省值.

ruby>?class?Fruit
????|???def?initialize(?k="apple"?)
????|?????@kind?=?k
????|?????@condition?=?"ripe"
????|???end
????|?end
???nil
ruby>?f5?=?Fruit.new?"mango"
???"a?ripe?mango"
ruby>?f6?=?Fruit.new
???"a?ripe?apple"??


可以在任何方法內使用缺省參數,而不僅僅是initialize.參數表(argument?list)必須以有缺省值的參數結尾.

有時,提供多種初始化對象方法是有益的.雖然已超出本教程的范圍,但Ruby提供了對象映象(object?reflection)和可變長度的參數表(variable-length?argument?lists),這些都有效地促進了方法重載.??

以上就是關于ruby對象的初始化的方法的介紹,希望小編整理的相關知識和資料都對你們有所幫助,更多內容請繼續關注武林技術頻道網站!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产在线观看一区二区三区 | 亚州综合一区 | 欧美ab| 国产精品久久久久永久免费 | 亚洲网在线 | 国产成人精品免费视频大全最热 | 国产999视频在线观看 | 一级α片免费看刺激高潮视频 | 做羞羞视频 | 欧美日韩精品中文字幕 | 中文字幕在线观看二区 | 午夜小影院 | 亚洲一区二区免费视频 | 欧美三级欧美成人高清www | 欧美日韩免费在线观看视频 | 91av在线影院 | 久久久三区 | 久久精品视频1 | 久久亚洲春色中文字幕久久 | 97se亚洲综合在线韩国专区福利 | 国产 日韩 亚洲 欧美 | 狠狠操操 | 美女网站色免费 | 免费视频观看 | 成人福利免费在线观看 | 国产精品久久久久久久久久久久午夜 | 日韩视频一区 | 玩偶姐姐 在线观看 | 国产一级中文字幕 | cosplay裸体福利写真 | 欧美黄色大片免费观看 | 精品亚洲综合 | 成人做爰高潮片免费视频韩国 | 国产免费看片 | 久久成人免费网 | 久久精品视频免费 | 麻豆一区二区99久久久久 | 欧美在线观看视频网站 | 午夜视频成人 | 黄污在线看| 成人综合免费视频 |