在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
我们经常要在子类的initialize方法中调用super和super()。 从语法上说super和super()是有微妙区别的。
演示代码如下:
1 class SParent 2 def initialize *args 3 args.each {|arg| puts arg} 4 end 5 end 6 7 class SChild < SParent 8 def initialize a, b, c 9 super 10 end 11 end 12 13 a, b, c = *%W[a b c] 14 SChild.new a, b, c # puts a, b, c if super
可以看出当SChild的initialize中调用super()时,代码是不会打印任何信息的。这是因为super()没有向SParent的initialize方法传任何参数。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论