Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re^2: The world is not object oriented

by tilly (Archbishop)
on Oct 21, 2007 at 12:23 UTC ( #646258=note: print w/ replies, xml ) Need Help??

in reply to Re: The world is not object oriented
in thread The world is not object oriented

I agree with you except that has-a is as (or more) useful a tool for OO in modelling mode as is-a is. Therefore when used properly for modelling, has-a is heavily used.

However I'll agree that there is an awful lot of bad OO out there that overuses is-a.

Comment on Re^2: The world is not object oriented
Replies are listed 'Best First'.
Re^3: The world is not object oriented
by demerphq (Chancellor) on Oct 21, 2007 at 12:46 UTC

    Well I'm not sure that we are disagreeing. :-) My point was that the two tend to lean different ways, not that well designed software wouldn't use the most appropriate form of relationship regardless of its intent. Also I guess I was griping a bit, has-a relationships are IMO underused, and IME often more useful than is-a relationships.

    Further to my original point, I think of lot of programmers, especially less experienced programmers (but not at all exclusively), tend to forget that OO can be used simply as a form of encapsulation that makes organizing their code easier. They get so distracted by all the subtleties of inheritance and overloading and polymorphism that they forget that OO can be used in simple ways to achieve complex goals in manageable ways. In fact one of the reasons I like perl and its anonymous subroutines/closures is related to this. Its a simple way to define what is more or less a single method class/object that encapsulates its data conveniently. The classic case is a counter object versus a counter closure.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://646258]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (8)
As of 2016-05-26 17:03 GMT
Find Nodes?
    Voting Booth?