You probably don't want to have Account be a sub-class of User. That is, you don't want to have our @ISA = qw(User). Instead, you probably should have an instance variable in each Account that references the User object that it is associated with.
Also, since you can have several accounts for each user, it probably doesn't make sense to have $self->{account} = User::Account->new($account_id);
You probably want to have something like:package User; # ... sub open_account { my ($self, $account_id) = @_; return User::Account->new($self, $account_id); } package Account; sub new { my ($class, $user, $account_id) = @_; my $self = { user => $user, account_id = $account_id }; bless $self, $class; } sub balance { my $self = shift; # now you have $self->{user} for the user object # and $self->{account_id} }
In reply to Re: Perl OOP help for OOP newbie
by Anonymous Monk
in thread Perl OOP help for OOP newbie
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |