Group :: Development/Perl
RPM: perl-Class-Data-Inheritable
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Current version: 0.02-alt1
Build date: 6 june 2005, 13:11 ( 985.8 weeks ago )
Size: 8059 b
Home page: http://www.cpan.org
License: Artistic
Summary: Class-Data-Inheritable - Inheritable, overridable class data
Description:
List of contributors List of rpms provided by this srpm:
ACL:
Build date: 6 june 2005, 13:11 ( 985.8 weeks ago )
Size: 8059 b
Home page: http://www.cpan.org
License: Artistic
Summary: Class-Data-Inheritable - Inheritable, overridable class data
Description:
Class::Data::Inheritable is for creating accessor/mutators to class
data. That is, if you want to store something about your class as a
whole (instead of about a single object). This data is then inherited
by your subclasses and can be overriden.
For example:
Pere::Ubu->mk_classdata('Suitcase');
will generate the method Suitcase() in the class Pere::Ubu.
This new method can be used to get and set a piece of class data.
Pere::Ubu->Suitcase('Red');
$suitcase = Pere::Ubu->Suitcase;
The interesting part happens when a class inherits from Pere::Ubu:
package Raygun;
use base qw(Pere::Ubu);
$suitcase = Raygun->Suitcase;
Raygun inherits its Suitcase class data from Pere::Ubu.
Inheritance of class data works analgous to method inheritance. As
long as Raygun does not "override" its inherited class data (by using
Suitcase() to set a new value) it will continue to use whatever is set
in Pere::Ubu and inherit further changes:
Pere::Ubu->Suitcase('Blue');
However, should Raygun decide to set its own Suitcase() it has now
"overridden" Pere::Ubu and is on its own, just like if it had
overriden a method:
Raygun->Suitcase('Orange');
Now that Raygun has overridden Pere::Ubu futher changes by Pere::Ubu
no longer effect Raygun.
Pere::Ubu->Suitcase('Samsonite');
Current maintainer: Vitaly Lipatov data. That is, if you want to store something about your class as a
whole (instead of about a single object). This data is then inherited
by your subclasses and can be overriden.
For example:
Pere::Ubu->mk_classdata('Suitcase');
will generate the method Suitcase() in the class Pere::Ubu.
This new method can be used to get and set a piece of class data.
Pere::Ubu->Suitcase('Red');
$suitcase = Pere::Ubu->Suitcase;
The interesting part happens when a class inherits from Pere::Ubu:
package Raygun;
use base qw(Pere::Ubu);
$suitcase = Raygun->Suitcase;
Raygun inherits its Suitcase class data from Pere::Ubu.
Inheritance of class data works analgous to method inheritance. As
long as Raygun does not "override" its inherited class data (by using
Suitcase() to set a new value) it will continue to use whatever is set
in Pere::Ubu and inherit further changes:
Pere::Ubu->Suitcase('Blue');
However, should Raygun decide to set its own Suitcase() it has now
"overridden" Pere::Ubu and is on its own, just like if it had
overriden a method:
Raygun->Suitcase('Orange');
Now that Raygun has overridden Pere::Ubu futher changes by Pere::Ubu
no longer effect Raygun.
Pere::Ubu->Suitcase('Samsonite');
List of contributors List of rpms provided by this srpm:
- perl-Class-Data-Inheritable