Métodos Abstractos
Un método abstracto es uno que, mas que proveer un servicio representa un servicio o categoría.
La idea es que al definir una clase base abstracta se indica un conjunto de métodos
que deberían estar definidos en todas las clases que heredan de la clase base abstracta.
Es una declaración que indica la necesidad de definir su funcionalidad
en las clases descendientes, pero que no se define en la clase base.
Para conseguir este efecto, lo normal en Perl es que nos aseguremos que nuestro
método abstracto produce una excepción con el mensaje de error adecuado.
Cuando el número de métodos abstractos es grande puede suponer un ahorro
utilizar un método genérico como este:
package Abstract;
sub ABSTRACT {
my $self = shift;
my ($file, $line, $method) = (caller(1))[1..3];
die("call to abstract method ${method} at $file, line $line\n");
}
1;
Obsérve el uso de la función caller
introducida en la sección 1.15.10
para determinar la localización exacta de la llamada.
Casiano Rodríguez León
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