正如标题所示,我正在编写一段笨拙的代码,它使用了多重继承,并要求同时调用两个SUPER
函数。有没有一种方法可以向Perl指明我想从两个父类中的哪一个运行函数?使用$self->SUPER::foo($bar);
只运行@ISA
中的第一个匹配函数。
下面给出了如何继承类的想法:
[Base Class]
|
----------------------------
| |
[A] [B]
| |
----------------------------
|
[C]
字符串
2条答案
按热度按时间kg7wmglp1#
只需指定它:
字符串
或者是
型
您可能还想查看mro。
flvlnr442#
有许多选择。
如果总是只有两个候选超类,则可以强制在两个方向上搜索
@ISA
,因此字符串
或者,如果你想做一些更聪明的事情,你可以在运行时构建所有超类方法的名称:
型
第一行获取当前执行的方法的名称,并去掉包名称信息,只留下裸名称。然后将它附加到
@ISA
中的每个包名,如果存在,则调用该方法。