我試圖在子類中創建一個超類泛型方法的別名,但它似乎沒有工作。這個竅門在同一個類中是有效的,但它似乎不適用於超級/子級轉換。這是一個真正的基本示例。前兩個電話工作。第三次調用會產生關於未定義的子例程的錯誤。我也試過使用SUPER :: cat,但那也沒用。Perl - 如何在子類中創建方法別名?
package foo;
sub cat{
print("inside foo\n");
}
*bird = \&cat;
package bar;
use base 'foo';
*dog = \&cat;
package main;
foo::cat();
foo::bird();
bar::dog();
這的確行得通。我只是不清楚爲什麼我需要它。 「use base」不應該將所有父級方法導入到我的子級中嗎? –
「use base」與基類建立ISA關係 –