Las características de la Programación orientada a objetos en Perl pueden resumirse en:
overload
permite la sobrecarga de operadores.
Sigue un ejemplo que gestiona una biblioteca:
package Biblio::Doc;
use strict;
{
my $_count = 0;
sub get_count { $_count }
sub _incr_count { $_count++ }
}
sub new {
my $class = shift;
my ($identifier, $author, $publisher, $title, $year, $url) = @_;
$class->_incr_count();
my $paper = {
_identifier => $identifier,
_author => $author,
_publisher => $publisher,
_title => $title,
_year => $year,
_url => $url
};
bless $paper, $class;
}
sub get_identifier { $_[0]->{_identifier} }
sub get_author { $_[0]->{_author} }
sub get_publisher { $_[0]->{_publisher} }
sub get_title { $_[0]->{_title} }
sub get_year { $_[0]->{_year} }
sub get_url { $_[0]->{_url} }
sub set_url {
my ($self, $url) = @_;
$self ->{_url} = $url if $url;
return ($self ->{_url});
}
1;
La clase Biblio::Doc se implanta a través del package
Biblio::Doc
package Biblio::Doc; use strict; ...
