El convenio del Subguión para Significar Privacidad

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
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19