is Routine
子类不会继承子方法。它们通常用于每个类的初始化和终止任务,这些任务在继承树中针对每个类显式调用,通常是为了强制执行特定顺序。例如,使用 BUILD
子方法的对象构造从最不派生的到最派生的发生,以便最派生的(子)类可以依赖于父类已经初始化。
子方法的类型为 Submethod
,并使用 submethod
声明符声明
由于子方法不会被继承,一个有趣的用例恰好是将从标准子方法(例如 BUILD
或 TWEAK
)调用的方法。
my Hero .= new( name => "Þor",inventory => ( "Mjölnir", "Megingjörð", "Mjölnir" ) );say .inventory;# OUTPUT: «[Megingjörð Mjölnir]»
仅在调用它的子方法的特定上下文中调用这些方法才有意义。
方法§
方法 gist§
multi method gist(Submethod:)
返回子方法的名称。