定义类
通常,Perl 中的类只是包。它们可以包含数据和方法,就像通常的包一样。
package Point;
use strict;
my $CANVAS_SIZE = [1000, 1000];
sub new {
...
}
sub polar_coordinates {
...
}
1;
值得注意的是,包中声明的变量是类变量,而不是对象(实例)变量。更改包级变量会影响类的所有对象。如何存储特定于对象的数据,请参阅创建对象。
使类包特定的是箭头运算符 ->
。它可以在一个简单的词之后使用:
Point->new(...);
或者在标量变量之后(通常持有参考):
my @polar = $point->polar_coordinates;
箭头左侧的内容前置于方法的给定参数列表中。例如,调用结束后
Point->new(1, 2);
new
中的数组 @_
将包含三个参数:('Point', 1, 2)
。
表示类的包应该考虑这个约定,并期望它们的所有方法都有一个额外的参数。