当先锋百科网

首页 1 2 3 4 5 6 7

Perl支持面向对象编程(Object-Oriented Programming, OOP),通过使用模块(Module)和类(Class)来实现。以下是一个简单的Perl面向对象示例:

首先,我们创建一个Person类,表示一个人:

# Person.pm
package Person;

sub new {
    my ($class, $name, $age) = @_;
    my $self = {
        name => $name,
        age  => $age,
    };
    bless $self, $class;
    return $self;
}

sub get_name {
    my ($self) = @_;
    return $self->{name};
}

sub get_age {
    my ($self) = @_;
    return $self->{age};
}

1;  # Important! Perl modules must return a true value.

然后,我们使用这个Person类创建对象,并访问对象的属性和方法:

#!/usr/bin/perl

use strict;
use warnings;
use Person;

# 创建一个新的Person对象
my $person1 = Person->new("Alice", 30);
my $person2 = Person->new("Bob", 25);

# 访问对象的属性和方法
print $person1->get_name(), " is ", $person1->get_age(), " years old.\n";
print $person2->get_name(), " is ", $person2->get_age(), " years old.\n";

运行上述Perl脚本,输出将会是:

Alice is 30 years old.
Bob is 25 years old.

在这个示例中,我们创建了一个Person类,它具有name和age属性,以及get_name和get_age方法来访问这些属性。通过使用bless函数,我们把一个哈希引用绑定到Person类,从而创建了一个Person对象。然后,我们可以使用箭头运算符(->)来访问对象的方法。