标签:
Perl的对象系统
perl没有为对象,类或方法定义提供任何的语法。实际上它重用了现有的结构来实现这三个概念:
对象就是引用(reference) 也就是指示对象(referent)
引用允许单个标量表示更大的数据集合,所以引用表示对象应该也不会让人奇怪。理论上讲对象并不是严格意义上的引 用,实际上它是引用所指向的指示对象。不过perl程序员并不区分这二者的差别。
类(class)就是包(package)
包可以用作为类,可以使用包的子例程来执行类的方法,或者使用包的变量保存类的全局数据。通常会一个模块维护一个或者多个类。
方法(method)就是子例程(subroutine)
对于一个用作为类的包,只需要在包中声明子例程,这些子例程就会作为这个类的方法。方法调用是调用子例程的一种新方式,会传递一个额外的参数,也就是用来调用这个方法的对象或者包。
方法调用
如果一个类调用方法,参数就是这个类的名字。
如果一个对象来调用这个方法,参数就是这个对象的引用。
不论调用的参数是什么,我们把它称为方法的调用者(invocant).
对于一个类方法,调用者是包名,对于一个实例方法,调用者则是指定某个对象的引用。
标签:
原文地址:http://my.oschina.net/u/2420214/blog/502718