1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
Source: libclass-virtual-perl
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Uploaders: Dominic Hargreaves <dom@earth.li>
Section: perl
Testsuite: autopkgtest-pkg-perl
Priority: optional
Build-Depends: debhelper-compat (= 13)
Build-Depends-Indep: libcarp-assert-perl <!nocheck>,
libclass-data-inheritable-perl <!nocheck>,
libclass-isa-perl <!nocheck>,
perl
Standards-Version: 4.6.1
Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libclass-virtual-perl
Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libclass-virtual-perl.git
Homepage: https://metacpan.org/release/Class-Virtual
Rules-Requires-Root: no
Package: libclass-virtual-perl
Architecture: all
Depends: ${misc:Depends},
${perl:Depends},
libcarp-assert-perl,
libclass-data-inheritable-perl,
libclass-isa-perl
Description: base class for virtual base classes
Class::Virtual is a base class for implementing virtual base classes (what
some people call an abstract class). Kinda kooky. It allows you to explicitly
declare what methods are virtual and that must be implemented by subclasses.
This might seem silly, since your program will halt and catch fire when an
unimplemented virtual method is hit anyway, but there's some benefits.
.
The error message is more informative. Instead of the usual "Can't locate
object method" error, you'll get one explaining that a virtual method was
left unimplemented.
.
Subclass authors can explicitly check to make sure they've implemented all
the necessary virtual methods. When used as part of a regression test, it
will shield against the virtual method requirements changing out from under
the subclass.
|