调用super和调用super()之间的区别

Bib*_*rma 15 ruby

调用super和调用super()有什么区别?如果传递给子方法的参数与父期望的不匹配,那么哪个是最好的.

Mic*_*sia 20

当您super不带参数调用时,Ruby会向当前对象的父级发送一条消息,要求它调用与您调用的方法同名的方法super,以及传递给该方法的参数.

另一方面,当调用时super(),它不向父节点发送任何参数.

如果你的参数与父期望的不匹配,那么我会说你会想要使用super(),或者在函数调用中明确列出参数以匹配有效的父构造函数.


Aus*_*tio 20

指示发送到对象祖先链的参数

super - sends all arguments
super() - no arguments
Run Code Online (Sandbox Code Playgroud)