Obsérvese la clausura creada para
el contador de referencias bibliográficas $_count.
Este contador es el único atributo de clase en
este ejemplo. Los restantes son atributos del objeto.
{
my $_count = 0;
sub get_count { $_count }
sub _incr_count { $_count++ }
}
Es un convenio en Perl que las variables que comienzan con
un guión bajo son variables privadas. Consecuencia de
este convenio es que debemos entender que el autor pretende que
$_count y _incr_count sean privadas.
La variable privada $_count
contiene el contador de documentos.
Su acceso queda restringido no ya al ámbito del módulo
sino al ámbito léxico establecido por la clausura. La única forma
de acceder a $_count es a través de las funciones
_incr_count y get_count.
En general, en programación orientada a objetos se aconseja que se envuelvan todos los accesos a atributos en subrutinas y se prohiba la posible modificación exterior de los mismos ([18] .
Casiano Rodríguez León
