in reply to oo design q: SUPER::_init
one way to do it is to use named parameters
package Dragon; sub _init { my $self = shift; my %args = @_; foreach my $key qw(NAME AGE COLOR) { $self->{$key} = $args{$key}; } $self->awaken(); } package Trogdor; sub new { my $class = shift; $class->new(@_, NAME => "Trogdor", AGE => "one year old"; COLOR => "green"); }
If the values are overridable, put @_ at the end of the parameter list.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: oo design q: SUPER::_init
by lestrrat (Deacon) on Feb 21, 2006 at 00:14 UTC | |
by alienhuman (Pilgrim) on Feb 21, 2006 at 00:49 UTC | |
by alienhuman (Pilgrim) on Feb 21, 2006 at 17:09 UTC | |
|
Re^2: oo design q: SUPER::_init
by alienhuman (Pilgrim) on Feb 20, 2006 at 23:26 UTC |