首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

perl中ISA是什么东西?解决方案

2012-12-31 
perl中ISA是什么东西?大家看看,这一段代码是什么意思?晕啊,楞是看不懂:package Graph::Baseuse vars qw(@

perl中ISA是什么东西?
大家看看,这一段代码是什么意思?
晕啊,楞是看不懂:

package Graph::Base;
use vars qw(@ISA);
require Exporter;
@ISA = qw(Exporter);

[解决办法]
有关于继承的环境变量.
[解决办法]
六、方法的输出
    如果你现在想引用Cocoa.pm包,将会得到编译错误说未找到方法,这是因为Cocoa.pm的方法还没有输出。输出方法需要Exporter模块,在包的开始部分加上下列两行:
    require Exporter;
    @ISA = qw (Exporter);
    这两行包含上Exporter.pm模块,并把Exporter类名加入@ISA数组以供查找。接下来把你自己的类方法列在@EXPORT数组中就可以了。例如想输出方法closeMain和declareMain,语句如下:
    @EXPORT = qw (declareMain , closeMain);
    Perl类的继承是通过@ISA数组实现的。@ISA数组不需要在任何包中定义,然而,一旦它被定义,Perl就把它看作目录名的特殊数组。它与@INC数组类似,@INC是包含文件的寻找路径。@ISA数组含有类(包)名,当一个方法在当前包中未找到时就到@ISA中的包去寻找。@ISA中还含有当前类继承的基类名。
    类中调用的所有方法必须属于同一个类或@ISA数组定义的基类。如果一个方法在@ISA数组中未找到,Perl就到AUTOLOAD()子程序中寻找,这个可选的子程序在当前包中用sub定义。若使用AUTOLOAD子程序,必须用use Autoload;语句调用autoload.pm包。AUTOLOAD子程序尝试从已安装的Perl库中装载调用的方法。如果AUTOLOAD也失败了,Perl再到UNIVERSAL类做最后一次尝试,如果仍失败,Perl就生成关于该无法解析函数的错误。

[解决办法]
Perl的面向对象编程
[解决办法]
引用:
但是,你这里没解释use vars qw(@ISA);


这句话是从vars包中引入@ISA变量.

热点排行