Perl 中的 use base 的用法
时间:2008-06-20 来源:sohu2000000
use base 是面向对象编程时,用来描述“基类”的,其实说白了,
[Copy to clipboard] [ - ] CODE:
[Copy to clipboard] [ - ] CODE:
use base somemodule;
就相当于以下两句的结合:
[Copy to clipboard] [ - ] CODE:
就相当于以下两句的结合:
[Copy to clipboard] [ - ] CODE:
BEGIN{
use somemodule ();
push @ISA, qw(somemodule);
}
也可以同时 use base 两个或者两个以上的模块,例如:
[Copy to clipboard] [ - ] CODE:
use somemodule ();
push @ISA, qw(somemodule);
}
也可以同时 use base 两个或者两个以上的模块,例如:
[Copy to clipboard] [ - ] CODE:
use base qw(Foo Bar);
就相当于:
[Copy to clipboard] [ - ] CODE:
就相当于:
[Copy to clipboard] [ - ] CODE:
BEGIN {
use Foo ();
use Bar ();
push @ISA, qw(Foo Bar);
}
至于 @ISA 是个什么样的数组,这完全不关 use base 的事,
只不过,@ISA 是一个比较特殊的数组,它的含义可以参见大骆驼中的描述。
顺便说一下,
[Copy to clipboard] [ - ] CODE:
use Foo ();
use Bar ();
push @ISA, qw(Foo Bar);
}
至于 @ISA 是个什么样的数组,这完全不关 use base 的事,
只不过,@ISA 是一个比较特殊的数组,它的含义可以参见大骆驼中的描述。
顺便说一下,
[Copy to clipboard] [ - ] CODE:
use Foo ();
和
[Copy to clipboard] [ - ] CODE:
和
[Copy to clipboard] [ - ] CODE:
use Foo;
是不同的,
后者会自动调用 Foo 包里的 import 函数,而前者不会。
CODE:
是不同的,
后者会自动调用 Foo 包里的 import 函数,而前者不会。
CODE:
use base somemodule;
比
[Copy to clipboard] [ - ] CODE:
比
[Copy to clipboard] [ - ] CODE:
use somemodule;
多了并且只多了一句
[Copy to clipboard] [ - ] CODE:
多了并且只多了一句
[Copy to clipboard] [ - ] CODE:
push @ISA, qw(somemodule);
相关阅读 更多 +