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