小编Dav*_*ung的帖子

为什么perl对象实例会相互覆盖

我编写了一些Perl代码,它构成了基础代码中固有的两个类.我想它会打印出这样的东西

Mik: Meow! Meow!
Sat: Woof! Woof!
Run Code Online (Sandbox Code Playgroud)

但它实际上是这样打印的:

Sat: Woof! Woof!
Sat: Woof! Woof!
Run Code Online (Sandbox Code Playgroud)

,

package Animal;
sub new {

    my $obj = shift;
    my $name = shift;
    our %pkg = ( 'name' => $name );
    bless \%pkg, $obj;
    return \%pkg;
}

package Cat;
@ISA = ("Animal");

sub new {
    my $obj = shift;
    my $name = shift;
    my $self =  $obj->SUPER::new($name);
    return $self;
}

sub get_name {
    my $obj = shift;
    return $obj->{'name'};
}


sub talk {
    my $obj …
Run Code Online (Sandbox Code Playgroud)

oop perl class object overwrite

3
推荐指数
1
解决办法
235
查看次数

标签 统计

class ×1

object ×1

oop ×1

overwrite ×1

perl ×1