源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

rudy 重载方法 详解

  • 时间:2021-03-30 21:57 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:rudy 重载方法 详解
在子类里,我们可以通过重载父类方法来改变实体的行为. 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   
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部