列出类的实例对象

时间:2014-01-13 15:12:28

标签: perl class object instance

在Perl中,是否可以列出特定类的所有对象?

例如,我有两个类Character的对象:

my $char1 = Character->new('John');
my $char2 = Character->new('Adam');

现在,我想迭代所有Character个对象($char1$char2),例如:

foreach ( "objects Character" ) {
    print "$_->getName()\n";
}

1 个答案:

答案 0 :(得分:3)

不,Perl不按类维护对象列表。你需要自己跟踪这个。

如果您有固定数量的对象:

my $char1 = Character->new('John');
my $char2 = Character->new('Adam');

for ($char1, $char2) {
    print $_->getName(), "\n";
}

如果您有多个可变对象:

my @chars;
push @chars, Character->new('John');
push @chars, Character->new('Adam');

for (@chars) {
    print $_->getName(), "\n";
}