商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

  六、方法的输出

  如果你现在想引用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就生成关于该无法解析函数的错误。

 

1 2 3 4 5 6 7 8 9 10 11 12
【内容导航】
第1页: 模块简介 第2页: Perl中的类
第3页: 创建类 第4页: 构造函数
第5页: 方法 第6页: 方法的输出
第7页: 方法的调用 第8页: 重载
第9页: 析构函数 第10页: 继承
第11页: 子类方法的重载 第12页: Perl类和对象的一些注释
©版权所有。未经许可,不得转载。
[责任编辑:cynthia]
[an error occurred while processing this directive]