Hi Monks,
I have posted this as a comment at "Re: my $self is stumped!". One Monk suggested to discuss it as a new post. So I am posting it again. Please refer to "my $self is stumped!" for original question to which I commented, for a clear picture.
We use the code $self->SUPER::introduce();to call introduce() of package person. Unlike Java or other Object Oriented Languages, 'SUPER' is not an object or reference to the instance of parent. The 'SUPER' just make the parser to look into @ISA for packages containing the method 'introduce()'
In the very basics of perl Object Orientations itself, we learn that in $obj->method(), $obj is the 1st argument to function 'method()'. In case of $self->SUPER::introduce();we can see that function is ' SUPER::introduce() ' and NOT' introduce() '. Also, the object passed is ' $self ' and NOT ' $self->SUPER '. For 'real' Object Oriented designs, don't we need ' SUPER ' as an object or reference to the instance of base classes(s). (I know there are some limitations)
Here the question is "How the child (object) know its parent(object)" and NOT "Parent knowing the child"
Hello Monks, Can you help us to solve this problem, other than creating instance of base classes inside our package?
--VCIn reply to SUPER in OOPerl is dumped with $self by atemon
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |