- 論壇徽章:
- 0
|
package MyPerson;
use strict;
#use warnings;
use vars qw(@ISA);
sub new {
my ($class, @args) = @_;
my ($first,$last,$id,$father,$mother) = @args;
my $self = bless {
'fname' => $first,
'lname' => $last,
'id' => $id,
'mother' => $mother,
'father' => $father,
}, $class;
return $self;
}
sub father {
my ($self,$val) = @_;
return $self->{'father'};
}
sub id { return shift->{'id'} }
1;
#!/usr/bin/perl -w
use strict;
use MyPerson;
my $person = MyPerson->new('jimbo', 'gumbo', 1,2,3);
my @family = (undef,$person); # 0 index needs to be empty
#print "@family\n";
push @family, MyPerson->new('mom', 'gumbo', 3, 0, 0);
print "@family\n","\n";
push @family, MyPerson->new('dad', 'gumbo', 2, 0, 0);
#print "@family\n";
my $dad = $family[$person->father];
print "$dad\n","\n" ;
print "$person\n";
print "father id is ", $person->father, "\n";
print "father obj id is $dad id is ", $dad->id,"\n"
結(jié)果:
MyPerson=HASH(0x289f6c) MyPerson=HASH(0x1829fc4)
MyPerson=HASH(0x1829fc4)
MyPerson=HASH(0x289f6c)
father id is 2
father obj id is MyPerson=HASH(0x1829fc4) id is 3
本來(lái)想通過(guò)程序來(lái)體會(huì)一下類的工作原理的。沒(méi)想到 不體會(huì) 不知道,一體會(huì) 更不知道了。
不明白 怎么出現(xiàn)這么對(duì)內(nèi)存地址。類這部分感覺(jué)超級(jí)暈!還請(qǐng)不吝賜教。
是不是要學(xué)好類 ,引用,模塊是重點(diǎn)。
[ 本帖最后由 snss1983 于 2008-9-17 11:32 編輯 ] |
|