• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 Student1Human
        |   def identify
        |     print "I'm a student.\n"
        |   end
        | end
       nil
    ruby> Student1.new.identify
    I'm a student.
       nil  


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

    ruby> class Student2Human
        |   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 DishonestHuman
        |   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 HonestHuman
        |   def train_toll(age)
        |     super(age) # pass the argument we were given
        |   end
        | end
       nil
    ruby> Honest.new.train_toll(25)
    Normal fare. 
       nil   

    上一篇:rudy 继承 概念
    下一篇:剖析 rudy 访问控制
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    rudy 重载方法 详解 rudy,重载,方法,详解,rudy,