2015-02-05 67 views

回答

5

Perl沒有靜態方法,所以你不需要技巧來使靜態方法像虛擬方法一樣工作。

package ClassA {  
    sub who { print __PACKAGE__, "\n" } 
    sub test { my ($class) = @_; $class->who(); } 
} 

package ClassB { 
    our @ISA = 'ClassA'; 
    sub who { print __PACKAGE__, "\n" } 
} 

ClassA->test(); # ClassA 
ClassB->test(); # ClassB