base - Establish IS-A relationship with base classes at compile time
package Baz; use base qw(Foo Bar);
package Baz; BEGIN { require Foo; require Bar; push @ISA, qw(Foo Bar); }
If any of the listed modules are not loaded yet, base silently attempts to "require" them (and silently continues if the "require" failed). Whether to "require" a base class module is determined by the absence of a global variable $VERSION in the base package. If $VERSION is not detected even after loading it, <base> will define $VERSION in the base package, setting it to the string "-1, set by base.pm".
Will also initialize the fields if one of the base classes has it. Multiple inheritence of fields is NOT supported, if two or more base classes each have inheritable fields the 'base' pragma will croak. See fields, public and protected for a description of this feature.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |