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