Perl Inherit Instance

Person.pm:

#!/usr/bin/perl-w

 

package Person;

 

use strict;

use English;

use warnings;

 

sub new {

  my $self = {};

 

  shift;

  my ($name,$age) =@_;

 

  $self->{name} =$name;

  $self->{age} =$age;

 

  bless ($self);

}

 

sub change_name {

  my $self = shift;

  #print$self."\n";

  my $name = shift;

  #print$name."\n";

 

  $self->{name} =$name;

}

 

my $object_person = Person->new("Tom",26);

print "Name:".$object_person->{name}."\n";

 

$object_person->change_name("Jim");

print "Name:".$object_person->{name}."\n";

 

----------------------------------------------------------------------------------

 

Employee.pl:

#!/usr/bin/perl -w

 

package Employee;

use Person;

@ISA = qw(Person);

 

use strict;

use English;

use warnings;

 

sub new {

  shift;

 

  my ($name,$age,$salary) = @_;

  my $self = Person->new($name,$age);

 

  $self->{salary} = $salary;

 

  bless ($self);

 

  return $self;

}

 

sub change_salary {

  my $self = shift;

  my $new_salary = shift;

 

  $self->{salary} = $new_salary;

}

 

my $object_employee =Employee->new ("Tonny",28,10000);

print "Name: " .$object_employee->{name} . ",Age: " . $object_employee->{age}.

",Salary: " .$object_employee->{salary} . ".\n";

 

$object_employee->change_name("Tommy");

$object_employee->change_salary(13000);

 

print "Name: " .$object_employee->{name} . ",Salary: " .$object_employee->{salary} . ".\n";

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...