[Bioperl-l] 0.7 release: Bio::Root::* classes

Ewan Birney birney@ebi.ac.uk
Tue, 14 Nov 2000 20:43:07 +0000 (GMT)

On Tue, 14 Nov 2000, Jason Stajich wrote:

> A consequence of going to RootI. 
> Take a look at the following classes.
> Bio::SeqFeature::Similarity -> ISA Bio::SeqFeature::FeaturePair -> ISA Bio::SeqFeature::Generic
> We use the clever SUPER::_initialize(@args) to pass initialization
> arguments up the hierarchy so that each can essentially obtain what they
> need from args and a sub class can have additional arguments not supported
> by the superclass.  To move to RootI each class will have its own new
> function and will not call new on its superclass.   We could still 
> create an initialize function that each class has and can call or else
> a change at the top will require changing the subclasses.  
> Comments on a better way to handle this?

perl does not handle this great, but you can write a new function in the
subclass which calls the new in the base class with arguments and then 
reblesses into the subclass.

not pretty, but nor is _initialize

Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420