#!/usr/bin/perl
package Person;
sub new {
my $self = {};
shift;
my ($name, $age) = @_;
$self->{name} = $name;
$self->{age} = $age;
bless ($self);
return $self;
}
sub change_name {
my $self = shift; ##为什么这个值不是该成员函数第一个参数。
my $name = shift;
$self->{name} = $name;
}
sub set_name {
my $self = shift;
my $name = shift;
$self->{name} = $name;
}
sub func {
my $first = shift;
my $second = shift;
print "first:".$first;
print "second:".$second;
}
my $object_person = Person->new ( "David", 27);
print "Name:". $object_person->{name} . "/n" ;
$object_person->change_name ("john");
print "Name: " . $object_person->{name} . " /n " ;
$object_person->set_name ("hello");
print "Name: " . $object_person->{name} . " /n " ;
1; # terminate the package with the required 1;
# package Person;
# sub new {
# my ($name, $age) = @_;
# my $r_object = {
# " name " => $name,
# " age " => $age
# }
# return $r_object;
# }
#
# my $personA = Person->new ( " Tommy " , 22 );
# my $personB = Person->new ( " Jerry " , 30 );
# print " Person A ’ s name: " . $personA->{name} . " age: " . $personA->{age} . " ./n " ;
# print " Person B ’ s name: " . $personB->{name} . " age: " . $personB->{age} . " ./n " ;