On Thu, Aug 3, 2017 at 8:48 PM, hw <h...@gc-24.de> wrote: > Andrew Solomon wrote: > >> My instinct before trying this would be to move the methods which FOO >> needs back into FOO (removing them from BAR). >> >> Is there a reason this won't work for you? >> > > Hmm. I haven´t thought of that because they don´t belong into FOO. > > They also won´t work in FOO because both FOO and BAR know about the object > they represent via what you could call a handle. This handle is very much > like an index of a row in a table in a database. The handle BAR knows can > be used with objects represented by BAR, and the handle FOO knows can be > used with objects represented by FOO. Though these handles are identical, > their content differs. You can do things with BAR-objects you can´t > do with FOO-objects and vice versa. FOO and BAR are partly the same, > partly different, that´s why there´s a class for each of them and why > BAR is descended from FOO. > > If I moved the methods from BAR into FOO, they would use the handle of FOO > instead of the handle of BAR. All the methods in FOO would need a way to > somehow figure out whether they can be used in the current context (i. e. > what type of object the class has been instantiated for) or not. >
I think the simplest approach would be to give both FOO and BAR a "handle" method so that the user of the handle doesn't care which one it is. > > I could add an object type so that the instances can know what type of > object they represent, and BAR would then become obsolete because I could > as > well move all methods from BAR into FOO, defeating the point of OOP. > > > On Thu, Aug 3, 2017 at 7:44 PM, hw <h...@gc-24.de <mailto:h...@gc-24.de>> >> wrote: >> >> >> Hi, >> >> suppose I have a class FOO and a class BAR. The parent of BAR is FOO. >> >> I would like FOO to /use/ BAR because BAR has some methods needed by >> FOO. >> BAR is /decended/ from FOO because FOO has many methods needed by BAR. >> >> Is this possible, or does it lead to some endless recursion when >> compiling? >> >> -- >> To unsubscribe, e-mail: beginners-unsubscr...@perl.org <mailto: >> beginners-unsubscr...@perl.org> >> For additional commands, e-mail: beginners-h...@perl.org <mailto: >> beginners-h...@perl.org> >> http://learn.perl.org/ >> >> >> >> >> >> -- >> Andrew Solomon >> >> Mentor@Geekuni http://geekuni.com/ >> http://www.linkedin.com/in/asolomon >> > > -- > To unsubscribe, e-mail: beginners-unsubscr...@perl.org > For additional commands, e-mail: beginners-h...@perl.org > http://learn.perl.org/ > > > -- Andrew Solomon Mentor@Geekuni http://geekuni.com/ http://www.linkedin.com/in/asolomon