in reply to Re: Re: Composition
in thread Composition Examples Sought

Like I said, Composition is having an object inside another object. Where you go from there with respect to *accessing* the nested object is up to you!

package MainObject; sub new { ... $self->{nested} = new NestedObject; ... } sub callNestedObjectMethod { my $self = shift; $self->{nested}->theMethod; }
But you might not even do that. You might never export 'theMethod' in this fashion, it might only be internally used. The 'Composition' part is having NestedObject as a member of your class.

It sounds like what you want is to "take object a, b, c and make a new object that lets me call methods from all of them". That sounds like private/protected inheritance in C++, and that sounds messy. Why not explicitly write your interface as above?

--
Ash OS durbatulk, ash OS gimbatul,
Ash OS thrakatulk, agh burzum-ishi krimpatul!
Uzg-Microsoft-ishi amal fauthut burguuli.