Class::ISA

Allows you to scan @ISA—in order and without duplicates—for names of classes that Perl would scan to find a method. This is important when using classes that are derived from other classes, which are themselves derived from other classes, and so forth. Class::ISA is bundled with the Perl 5.8 source kit.

Let’s say that you called SomeClass->method(). Perl searches for method() first in SomeClass, but will search its superclasses for method() if it doesn’t find it in SomeClass. For example:

@SomeClass::ISA = qw(SomeOther SomeOtherOther SomeOtherOtherOther);
 use Class::ISA;
print "SomeClass::ISA path is:
 ",
join(", ", Class::ISA::super_path(`SomeClass')), "
";

This prints:

SomeOther, SomeOtherOther, SomeOtherOtherOther

Class::ISA doesn’t export anything. If classes erroneously inherit from each other; i.e., if there’s a loop (or cycle) between what’s inherited between classes, Perl throws an error, and Class::ISA itself will ignore the loop. If Perl can’t find the method in the @ISA tree, it looks in UNIVERSAL, but Class::ISA does not. You may do something like the following to search in UNIVERSAL as well:

@supers = (Class::Tree::super_path($CLASS), `UNIVERSAL'),

Here are the Class::ISA methods.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.219.130