Perl Inherit Instance

前端之家收集整理的这篇文章主要介绍了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";

猜你在找的Perl相关文章