日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
Ruby重載知識講解

Ruby語言作為一種新興的編程語言,廣大編程語言都對其保佑非常大的好奇心。在這篇文章中我們將會認識到Ruby重載的一些知識。#t#

創(chuàng)新互聯公司是一家專注于網站建設、網站設計與策劃設計,彭州網站建設哪家好?創(chuàng)新互聯公司做網站,專注于網站建設十載,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:彭州等地區(qū)。彭州做網站價格咨詢:18980820575

在子類里,我們可以通過Ruby重載父類方法來改變實體的行為.

  1. ruby> class Human 
  2. | def identify 
  3. | print "I'm a person.\n" 
  4. | end 
  5. | def train_toll(age) 
  6. | if age < 12 
  7. | print "Reduced fare.\n"; 
  8. | else 
  9. | print "Normal fare.\n"; 
  10. | end 
  11. | end 
  12. | end 
  13. nil 
  14. ruby> Human.new.identify 
  15. I'm a person. 
  16. nil 
  17. ruby> class Student1 
  18. | def identify 
  19. | print "I'm a student.\n" 
  20. | end 
  21. | end 
  22. nil 
  23. ruby> Student1.new.identify 
  24. I'm a student. 
  25. nil 

如果我們只是想增強父類的 identify 方法而不是完全地替代它,就可以用 super進行Ruby重載.

 
 
 
  1. ruby> class Student2
  2. | def identify 
  3. | super 
  4. | print "I'm a student too.\n" 
  5. | end 
  6. | end 
  7. nil 
  8. ruby> Student2.new.identify 
  9. I'm a human. 
  10. I'm a student too. 
  11. nil 

super 也可以讓我們向原有的方法傳遞參數.這里有時會有兩種類型的人...

 
 
 
  1. ruby> class Dishonest
  2. | def train_toll(age) 
  3. | super(11) # we want a 
    cheap fare. 
  4. | end 
  5. | end 
  6. nil 
  7. ruby> Dishonest.new.train_toll(25) 
  8. Reduced fare. 
  9. nil 
  10. ruby> class Honest
  11. | def train_toll(age) 
  12. | super(age) # pass the 
    argument we were given 
  13. | end 
  14. | end 
  15. nil 
  16. ruby> Honest.new.train_toll(25) 
  17. Normal fare. 
  18. nil 

以上就是對Ruby重載的相關知識介紹。


名稱欄目:Ruby重載知識講解
轉載來源:http://m.5511xx.com/article/cdiogio.html