Base Class:
-----------
#!/usr/bin/perl
use strict;
use Data::Dumper;
#write package name:
package Person;
#write constructor
sub new
{
#declare => hash & bless it and return it.
my($class)=shift;
my($self)={
_name=>shift,
_sname=>shift,
};
bless $self, $class;
return $self;
}
1;
Derived class:
--------------
#!/usr/bin/perl
#define package:
package Employee;
use strict;
use Data::Dumper;
#use parent class
use Person;
#Define ISA
our @ISA = qw(Person);
#Define constructor with child and parent both:
sub new
{
my($class)=@_;
my($self)=$class->SUPER::new($_[1],$_[2]);
$self->{_id} = $_[3];
$self->{_sal} = $_[4];
return ($self);
}
1;
Program:
--------
use strict;
use Data::Dumper;
use Person;
use Employee;
sub main
{
my($obj)=Employee->new("mandar","pande","111515","1");
print "$obj->{_name}\n";
print "$obj->{_sname}\n";
print "$obj->{_id}\n";
print "$obj->{_sal}\n";
}
main();
Monday, April 16, 2012
Constructor overloading in Perl
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment