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

首頁 > 編程 > Ruby > 正文

rudy 重載方法 詳解

2020-10-29 19:47:42
字體:
來源:轉載
供稿:網友
在子類里,我們可以通過重載父類方法來改變實體的行為.

ruby> class Human
    |   def identify
    |     print "I'm a person./n"
    |   end
    |   def train_toll(age)
    |     if age < 12
    |       print "Reduced fare./n";
    |     else
    |       print "Normal fare./n";
    |     end
    |   end
    | end
   nil
ruby> Human.new.identify
I'm a person.
   nil
ruby> class Student1<Human
    |   def identify
    |     print "I'm a student./n"
    |   end
    | end
   nil
ruby> Student1.new.identify
I'm a student.
   nil  


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

ruby> class Student2<Human
    |   def identify
    |     super
    |     print "I'm a student too./n"
    |   end
    | end
   nil
ruby> Student2.new.identify
I'm a human.
I'm a student too.
   nil  


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

ruby> class Dishonest<Human
    |   def train_toll(age)
    |     super(11) # we want a cheap fare.
    |   end
    | end
   nil
ruby> Dishonest.new.train_toll(25)
Reduced fare. 
   nil

ruby> class Honest<Human
    |   def train_toll(age)
    |     super(age) # pass the argument we were given
    |   end
    | end
   nil
ruby> Honest.new.train_toll(25)
Normal fare. 
   nil   

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一区二区精品视频 | 久久久精品视频免费看 | 99精品国产一区二区三区 | 超碰人人做人人爱 | 色屁屁xxxxⅹ在线视频 | 久久国产成人午夜av浪潮 | 欧洲精品久久 | 亚洲成人伊人 | 免费a视频在线观看 | 欧产日产国产精品乱噜噜 | chinese中国真实乱对白 | 成年人免费视频播放 | 毛片久久| 国产一区成人 | 久久毛片 | 美女视频在线观看黄 | 国产在线1区 | www.99tv| 国产精品视频免费网站 | 国产精品视频免费在线观看 | 毛片大全在线观看 | 欧美亚洲一区二区三区四区 | 国产精品久久久不卡 | 欧美日韩亚洲视频 | 成人毛片免费看 | 麻豆视频免费网站 | 福利在线播放 | 成人毛片免费视频 | 黄色片免费在线播放 | 3xxx| 国产精品欧美久久久久一区二区 | 性欧美极品xxxx欧美一区二区 | 亚洲国产精品一区 | 欧美日韩亚洲另类 | 久久千人斩| 国产精品99精品 | 一级黄色在线免费观看 | 日本在线一区二区 | 国产精品热 | 97超碰资源站 | 空姐一级毛片 |