NAME

Class::MakeMethods::Template::ClassInherit - Overridable class data

SYNOPSIS

package MyClass;

use Class::MakeMethods( 'Template::ClassInherit:scalar' => 'foo' );
# We now have an accessor method for an "inheritable" scalar value

package main;

MyClass->foo( 'Foozle' );   # Set a class-wide value
print MyClass->foo();	      # Retrieve class-wide value
...

package MySubClass;
@ISA = 'MyClass';

print MySubClass->foo();    # Intially same as superclass,
MySubClass->foo('Foobar');  # but overridable per subclass/

DESCRIPTION

The MakeMethods subclass provides accessor methods that search an inheritance tree to find a value. This allows you to set a shared or default value for a given class, and optionally override it in a subclass.

ClassInherit:scalar

Creates methods to handle a scalar variable in the declaring package.

See the documentation on Generic:scalar for interfaces and behaviors.

ClassInherit:array

Creates methods to handle a array variable in the declaring package.

See the documentation on Generic:array for interfaces and behaviors.

ClassInherit:hash

Creates methods to handle a hash variable in the declaring package.

See the documentation on Generic:hash for interfaces and behaviors.

SEE ALSO

See Class::MakeMethods for general information about this distribution.

See Class::MakeMethods::Template for more about this family of subclasses.

See Class::MakeMethods::Template::Generic for information about the various accessor interfaces subclassed herein.

If you just need scalar accessors, see Class::Data::Inheritable for a very elegant and efficient implementation.