Perl面向对象
类只是一个简单的包。
可以将包用作类,并将包中的函数用作类方法。
Perl包提供独立的名称空间,因此不同包的方法和变量名不会冲突。
Perl类的文件后缀是.pm。
接下来,我们创建一个Person类:
包装人员;
类的代码范围为脚本文件的最后一行或下一个package关键字。
package Person;
sub new
{
my $class = shift;
my $self = {
_firstName => shift,
_lastName => shift,
_ssn => shift,
};
# 输出用户信息
print "名字:$self->{_firstName}\n";
print "姓氏:$self->{_lastName}\n";
print "编号:$self->{_ssn}\n";
bless $self, $class;
return $self;
}
Perl中有两种不同的面向对象编程实现:
第一种基于匿名哈希表。每个对象实例的本质是对匿名哈希表的引用。在这个匿名哈希表中,存储了所有实例属性。
其次,基于array方法,在定义类时,我们将为每个实例属性创建一个数组,每个对象实例的本质是对这些数组中的行的索引的引用。在这些数组中,存储了所有实例属性。
面向对象的基本概念
面向对象有许多基本概念。这里我们收到三个:对象、类和方法。
对象:对象是对类中数据项的引用
Class:Class是一个Perl包,其中包含提供对象方法的类。
方法:该方法是一个Perl子程序,类名是它的第一个参数。
Perl提供了祝福()函数。祝福用于构造对象。通过祝福将引用与类名关联,可以返回引用以构造对象。
类别的定义