Ruby重载知识讲解
Ruby语言作为一种新兴的编程语言,广大编程语言都对其保佑非常大的好奇心。在这篇文章中我们将会认识到Ruby重载的一些知识。
在子类里,我们可以通过Ruby重载父类方法来改变实体的行为.
- 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重载.
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 也可以让我们向原有的方法传递参数.这里有时会有两种类型的人...
相关推荐
IT之家 2020-03-11
graseed 2020-10-28
zbkyumlei 2020-10-12
SXIAOYI 2020-09-16
jinhao 2020-09-07
impress 2020-08-26
liuqipao 2020-07-07
淡风wisdon大大 2020-06-06
yoohsummer 2020-06-01
chenjia00 2020-05-29
baike 2020-05-19
扭来不叫牛奶 2020-05-08
hxmilyy 2020-05-11
黎豆子 2020-05-07
xiongweiwei00 2020-04-29
Cypress 2020-04-25
冰蝶 2020-04-20