diff options
Diffstat (limited to 'lib/MooseX')
-rw-r--r-- | lib/MooseX/ABC.pm | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/MooseX/ABC.pm b/lib/MooseX/ABC.pm index 6748acb..8850931 100644 --- a/lib/MooseX/ABC.pm +++ b/lib/MooseX/ABC.pm @@ -31,11 +31,16 @@ MooseX::ABC - abstract base classes for Moose =head1 DESCRIPTION -This module adds basic abstract base class functionality to Moose. Doing -C<use MooseX::ABC> turns the using class into an abstract class - it cannot be +This module adds basic abstract base class functionality to Moose. Doing C<use +MooseX::ABC> turns the using class into an abstract class - it cannot be instantiated. It also allows you to mark certain methods in the class as L</required>, meaning that if a class inherits from this class without -implementing that method, it will die at compile time. +implementing that method, it will die at compile time. Abstract subclasses are +exempt from this, however - if you extend a class with another class which uses +C<MooseX::ABC>, it will not be required to implement every required method (and +it can also add more required methods of its own). Only concrete classes +(classes which do not use C<MooseX::ABC>) are required to implement all of +their ancestors' required methods. =cut @@ -71,11 +76,6 @@ sub init_meta { return $ret; } -=head1 TODO - -Probably want a way to extend abstract classes without dying, making the -inheriting class abstract. - =head1 BUGS No known bugs. |